P DATE J
$4
95 April 1990
EXPLORING THE POWER
OF
SINCLAIR COMPUTERS
THE CAMBRIDGE Z88
Portable Power
M SINCLAIR TM TS-2068
Versatile Desk Topper
H3E SINCLAIR QL
32 Bit Power House
In this issue. . .
UPDATE CONTINUES WITH NEW PUBLISHER
QL OPERATING MS-DOS TS-2068 EXTRA MEMORY USING RAM DISK with TS-2068
PSION'S THREE NEW MOBIL CCMHMS nek zss poblicsticn ql-s text -s?
PLUS- fflff ISSUE DISKS PGR BOIH THE SINCLAIR QL AND THE TS-2068
UPDATE MAGAZINE
1317 Stratford Ave.
Panama City, FL 32404
904 871 3556
News and New Products
If you 1 ike your Sinclair
Don
chase your tail
O
Turn it a ± ■ o lj n c± ^WSmMm^ and g-o t your tail
over -to the Mi lwaukee Sinclair Expo
fisiisiiiiiratpitii
June 2nd 5: 3rd
Banquet Friday Night June 1st
- SEIiMS, SOFTUBRE, HHIIIE, DDK ROB, SUP SHOP -
Loc«Uon - li| Hi I| " h) 18 * 194 H««k«h« HI
Satwrday June 2, 1998 uiil be the SNUG meeting
Ticket! : in adv. Ait door
One Buy - 4.86 5.
Two dfljj- 7.
Banquet -16.88
8.88
ww
Mies: 38" x 6' 25.88 each
If flying in call us, 414 353 4522.
with flight info, for transportation.
Hail your reservations to:
Expo Reservations, P.O. Box 181, Butler Wl 53225
2,
UPDATE CHANGES PUBLISHER
by Bill Jones
This announces that Frank Davis, 513 East Main Street, Peru, IN 46970 will
be taking over as publisher of Update Magazine with the October 1990 issue. We
hope that the subscribers will not notice any change in quality or depth of
coverage except for the better. I am delighted that Update will be a survivor
publication and will be published under such competent leadership as Frank Davis
can provide. I will help Frank as much as he requests to keep Update an
excellent publication.
Frank Davis is a long time user of both the TS-2068 and Sinclair QL. He has
recently been involved as the SNUG Librarian for public domain software. Frank
was a key person in organization of the 1988 Computer Fest at Indianapolis and
has been the editor of a TSUG newsletter. In addition Frank is in close
coordination with other SNUG officials in Indiana who will be at hand to assist
in keeping Update Magazine a good publication.
For those of you who have articles to publish please keep on sending them
in. I will turn over all un-published articles to Frank when the July issue is
finished. I am looking forward to having more time to spend on programming and
my sailing hobby. Also I promised to take the Wife on a cruise in the Virgin
Isles.
The hints given in Update recently that I was about to quit publishing
brought on many letters urging me on. That was enough to make me reach out to
find someone to carry on the magazine. But how can one sell ice to Eskimoes,
Confederate currency, an old treasure map, a sunken boat, or a non-profit
magazine? But the effort paid off. Now we have another dedicated publisher to
keep Update going, the first Sinclair Timex magazine to survive the quits. I
urge all to give Frank Davis your support. Re-subscribe and try to bring in
another Sinclair Timex user as a subscriber. There are many inactive S-T "owners
who are not users". We need to find these folks and encouraged them to subscribe
to Update and re-join this enthusiastic group. The subscribers really are an
enthusiastic group having a convival spirit of friendship with a cannon interest.
Update is your magazine. There will be some complexion changes,, likely for
the better. Each publisher injects his own personality into the pages. Since
all Sinclar - Timex supporters are eccentric characters beyond help from couch
analyists, Frank Davis will likely bring in a new set of egocentrics and
incomprehensibles for you to enjoy. I quit with the hope that you are still
trying to figure out whether or not I have any literary talents or am truly the
curmudgeon that one of our subscribers suggested. My intent all along was to
confuse while injecting humor and a bit of satire to twit the perfectionists who
look for nits in the forest of verbs, pornouns, and infinitudes, and find many
because Update is too poor to hire a proof reader. Its the beef that counts.
I also would like to remind everyone that Update Magazine is not a profit
venture. The best that a publisher can hope to do is to avoid losing money. The
best that I could do during the three years was to put aside enough funds to pay
for the upkeep and entertainment on board the 200* yacht "White Star" as we plyed
the seas between issues. (Now I'll tell you. The "White Star" is a 45 1 sailing
yawl, built in 1936 at Bristol, Conn. It was our family vessel for 10 years and
was given to a boy's club in 1968 when I was sent to serve my Country in Viet
Nam. Sailing gave way to publishing three years ago and will be resumed with
salty zest . )
A good gesture of support to your new publisher would be to send him your
subscription renewal for 1991, which becomes due after the July issue is
received. I wish Frank Davis and the subscribers to Update good tidings. -BJ-
3
UPDATE Gets a New Editor After July ;
In the January issue of UPDATE , it was announced that if no
one could be found to carry on the publishing and editing of
UPDATE magazine that it would be discontinued with the July
issue (the last issue on the subscription year). Bill Jones was
getting a bit burned out and wanted to spend more time at his
other hobby, boating. It has been an excellent magazine and has
a fairly steady subscriber base. The magazine had been twice
offered to SNUG, but was not accepted at that time. At this time
SNUG plans to continue with its own newsletter, of which the
second issue is probably already sent out.
Veil the gauntlet was thrown down and it has been picked up,
by Carol and Frank Davis of Peru, Indiana. After the July issue
is sent out from Panama City, Florida, the magazine will be
moved to Peru, Indiana. This means that all renewals of
subscriptions will go to UPDATE Computer Systems, P.O. Box 1095,
Peru, IN 46970. They will also, after the July issue is mailed,
be handling all orders for program disks from the magazine. In
the past this magazine has had near 100% renewal, and it is
hoped this will be continued. Most of the magazine will remain
pretty much the same, other than adding a column on Sinclair
desktop publishing. We hope to retain all of the same writers
and perhaps add a few. At this time all prices and policies
remain the same. The price for a subscription is SIS. 00 U.S.
The only change being looked at is that , with a postage rate
hike likely in February 1991, we may have to increase postage
for those subscribing overseas and in Canada by a dollar or two.
It costs more to mail out of the country. All correspondence or
questions on this should be directed to Frank Davis at P.O. Box
1095, Peru, IN 46970. Assisting the Davis family with this
venture is their longtime friend, Eliad P. Vannum, who will be
active in the editorial department. He will undoubtedly also get
stuck with a lot of collating and stapling of the magazine.
For those who do not know Frank Davis and his wife Carol,
allow me to say a few words. Remember the first Midwest
Timex-Sinclair Computer Fest at Cincinnati, Ohio? He was the guy
who got it all started and together with Jack Roberts and a
committee of 11 more, put on that show. The next year he went on
to produce the 2nd Midwest Timex-Sinclair Computer Fest in
Indianapolis, Indiana. To this date, that was the largest and
best attended Sinclair show on this side of the Atlantic. Those
who attended the show the next year at Cleveland will have
remembered he was one of the moderators for the large meeting
for all attendees and that he presented a seminar on data
exchange between the TS1000, TS2068 and the QL. For the last
four years he has been the Editor of the ISTUG Newsletter,
except for a few months that Mike Felerski had the helm. He was
one of the original founders of the Indiana Sinclair-Timex Users
Group, in which he is still very active. Presently, he is the
Head Librarian for SNUG. In each and all of these endeavors, he
has had the support of his wife, Carol, serving on all
committees, proofreading, typing , etc.
Ve will look forward to having the full support of all
subscribers, writers, programmers and Sinclair vendors. Thanks
to Bill Jones for giving us another chance to serve the Timex
and Sinclair users of North America.
4
PSION DEVELOPS 1SREE NEW OCMPUTERS
A new generation of MOBIL full capability
Computers !
{To prvowwuncjL PSION, dsuop ike. "P" and
4ay, 'M.-aan' ).
PSION has been a leader in Software
development since the first Personal computers
were introduced by Sinclair. Some of PSION'S
classic softwares are: View Calc and View File
for the TS-1000, TS-2068 and Spectrum, Quill,
Abacus, Archive, and Easel, for the Sinclair
QL. PSION is an American Company based in
Water town, Connecticut, and they are producing
a new line of computers.
First came a PSION "Minature", a
calculator size computer having full computing
capability and the ability to transport files
to and from IBM compatables.
M A M SERIES OF W (MW
Now PSION comes in with a new line of
"MOBIL" Computers that have many new and
attractive innovations. PSION coined the name
"MOBIL COMPUTER" to better discribe the size
and portability of this new group of
computers. The terms "Portable" and
"Personal" - had become meaningless applying to
a wide range of computer sizes. Three new
computers are designed to have FULL DESK TOP
CAPABILITY.
PSION'S "Mobil" computers are the size of
a loose leaf note book, measuring two inches
thick and weighs 4 1/2 pounds. The three
models have clam shell design to provide a
full size screen that folds up to provide high
resolution viewing with built-in graphics
interface.
The three models of PSION Mobils are
designated: MC-200, MC-400, and MC-600. The
first two are designed with PSION'S own
Operating System. The MC-600 is designed to
use MS-DOS and all of the software used by the
IBM compatable market.
Common Design Features
All three of the PSION Mobils employ the
newest technology of "Flash Memory SoHd State
Disk" (SSD). These SSD's are match book size
Flash Memory cells that act in the same manner
as disk drives, but have no moving parts.
Each of the PSION Mobils have four SSD's built
in.
The PSION Operating System is ROM BASED,
meaning that no outside DOS utilities are
required for operation.
ALL RAM MEMORY is held Non-Volatile by
replacable AA batteries that last for up to 75
computer operating hours. In terms of normal
usage this translates into months of
operation.
THE MC-200 - MC-400 Mobil Computers
These computers use the PSION Operating
System and have an ensemble of BUILT-IN
Softwares including, Word Processing, Personal
and Business Data Base Management, Personal
Diary, Full Function Calculator, and Terminal
Software for Tel ecommuni cation.
The MC-200 and MC-400 have SPEECH
PROCESSING. A built-in Microphone is used to
input speech which is stored in memory.
Speech processing includes its editing.
Entrys to the built in software can be made by
voice. Play back is also provided.
The MC-200 and MC-400 have a built-in
"Touch Pad", a Mouse atop the keyboard. The
Touch Pad is integrated with the built-in
softwares to provide menu item high lighting
for selections.
The MC-200 and MC-400 use the PSION "FAST
LINK" to transport files to and from either
IBM or Apple computers. Fast Link will be
discussed more as the MC-600 Mobile is
described.
THE MC-600 MS-DOS MOBIL COMPUTER
The MC-600 is designed for full
comparability with the widely used IBM
compatable systems. The MS-DOS 3.2 DOS is
built-in to the MC-600 ROM. PSION is
currently adapting its own Library of software
into the SSD format. Transportability of
MS-DOS disk files and programs is provided by
a built-in PSION Communications Link. The
built-in software links any MS-DOS computer
via PSION's own "Fast Link", a serial
interface that transfers data at a rate of 1.5
megabytes per second. Fast Link works with
both IBM and Apple Computers.
Remember, PSION has been a full capability
Software Enterprise since the beginning of the
Microprocessor Computer industry. Their vast
experience and library of software provide a
combination that is unique in the Computer
Design industry. Most Computer industries
build their computers and depend upon outside
software support of their systems. That PSION
is converting their library of software for
this new line of Mobils promises un-excelled
software support of these computers for years
to come .
While the PSION MC-600 uses MS-DOS which
has wide software support, most new computers
that have new Operating systems suffer from
lack of software support. PSION's in-house
software capability promises full software
support of the MC-200 and MC-400 from their
beginning. (See EMSOFT Ad for specs.) -BJ_
t 5'
To a hundred who wrote: The. Jamiasu/ iS6ue o4 Update, uas mailed on. Mustek. 4. Not
anything to bo, jyvoud o4 4oa aujvl. Excuse,: My apple, cant began to titt just a4teA.
Chxistmas, 4<Uut uflth. the. need Joa. Aemoval 04 a. colon pollup, then an angioplasty
operation to restate, a. clogged OAteny, and then a. kidney pAoceduAe. to blast away a.
boulden. All this took 32 day* in ye ole. hospital. I began to think that I 'd have to
pat in a change 04 addAest, cand to the postal MAi/ijce. In the meantime about 100
letters uenjL A&cebied asking "Wheats my magazine?" [Whenes the be&4?). A dozen on so
had $1S checks inside., the unite* thinking that penhap* he had 4ongotten to Aeneu.
These checks uteAe. AetuAned as all uptiteAS ukao. cuAAent subscAJJbens. I'm back in the
pink again now, *o dont tend JIoukas. Bat the biZis one. beginning to oaaJjjq, which may
cause uKvtse pain than did the kidney Atone. I thank evenyone. ion the pleasantnies^
inclosed in the lettens. (No one -tent onions. )
HAROLD A.ROMER
P.O.BOX 32
JOHNSON CITY.TENN.
37605-0032
I have for sale the following items:
- ZX80 -with power supply/manual
- TS1000 -with power supply/manual
- ZX81 -with power supply/manual
- ZX81 With klik keyboard-w/ps fc manual
- 16K memory<1016)
- 32K memory (Memotech)
- 64K Memory (Memotech)
- Hunter board W/4 chips
- Eprom pgmr(MAV) for ZX81/TS1000 2/2732
- 40 col ptr
- 32 col ptr (2040)
- Mannesmann Tally Spirit 80 Ptr.
- Memotech keybd/8 1-1000
- demo hardware/ 1000
- Carry case/81/1000
- 0S64 Cart-64col
- Modem for 81/1000/2068
- AERC0 ptr cable W/Tape
- Memotech ptr cable 81/1000
IT'S HERE!!
QL TRIVIA-GLUE
HERE IS GREAT NEW COMBINATION GAME!
IN ONE GREAT PACKAGE! I
13 ROOKS - 13 WEAPONS - 13 SUSPECTS
THAT'S OVER 2199 POSSIBLE OUTCOMES!
AND NOW - OVER 75f TRIVIA QUESTIONS!
QUESTIONS COVER EVERY CONCEIVABLE SUBJECT!
—
Also included, at no extra cost, your choice of
FOOTBALL FORECASTER or LIFE EXPECTANCY FORECASTER
(Specify which you would like when you order.)
WE THINK YOU'LL LIKE THIS ONE!
OUR PRICE? ONLY *19-95 ♦fZph
AVAILABLE EXCLUSIVELY FROM:
RMG ENTERPRISES
$25.00 ea
45.00 ea
35.00
40.00
15.00 ea
30.00
40.00
35.00
25.00
40.00
40.00
150.00
55.00
15.00
10.00
15.00
75.00
30.00
45.00
We carry ALL hardware and software ftnes for the Sinclair QL.
We also carry the Z88.
WRITE FOR FREE CATALOG
Sharp's, Inc.
Rt. 10. Box 459
MechanksvlIJe, VA 23111
(804) 746-1664 or 730-9697
Compare the PSION MOBIL COMPUTER
to any other portable computer
now in production.
Dollar for Dollar, feature for
feature, it can't be beat.
Model
MC-200 MC-400 MC-600
CPU
**** 80C86 16 bit CMOS ****
Speed (Mhz)
7.68 7.68
7.68
BIOS mfg
Phoenix Phoenix Phoenix
RAM Standard
128K 256K
768K
RAM Maximum
' 512K 512K
768K
Screen diag
10M 10"
10"
type (LCD)
SupTwist Retardation Film
protocol
CGA DCGA
DCGA
resolution
640x200 640x400 640x400
col x line
85 x 14 85 x 14
???
No. of Keys
69 69
79
Detach keybd
no no
no
Slots Stand
0 0
0
Prop
2 2
2
Battery type
8xAA Alk/Opt Rech NiCad Pax
life
75 hr 60 hr
40 hr
replace
yes yes '
yes
Ports Ser/Par
1/1 1/1
1/1
Video Port
no no
yes
ROM size
256K 256K
256K
Software
in ROM
GUI GUI
MS-DOS 3.2
Touch pad
yes yes
no
Floppy Stand
no no
no
Floppy Ext.
no no
1.44Mb 3.5"
Hard Disk
no no
no
RAM Disk
OK OR
1 Mb intern
Maximum
2 Mb 2 Mb
8 Mb
Slots
4 4
4
Fast serial
transfer
***** External Option *****
Modem
***** External Option *****
Microphone
yes yes
no
Speaker
yes yes
yes
Programing
language
OPL OPL
n/a
Dimension
*** 12.4" x 8.9"
x 1.9" ***
Weight (lbs)
4.3 4.3
4.3
Warranty
******** 12 months ********
Price
$1199 $1699
$2999
Call for current quote from
EMSoft
Box 8763, Boston, MA 02114
(617) 889-0830
v
A New Z88 publication has surfaced. Z88 Fax News is propagated by Fax
line or mailed to subscribers who do not have FAX. One of the four pages
of the issue received is duplicated below. Update Magazine presents this
as NEWS ONLY and does not necessarily endorse the Z88 or Z88 FAX NEWS.
Z88 Fax News
February 1990
Publisher et al Curtis Claar
Facsimile Promo Productions
2342 Glendale Ave. • Casper, Wyo. 82601
Fax or voice (307) 766-7026
Page Three
Cambridge N, America
Is cash a
problem?
So is Cambridge North
America broke or aren't they?
One CNA employee was
quoted as saying, "We are very
alive." Others agree.
But reports still keep com-
ing in of financial dire straits.
Some say CNA owes Cam-
bridge UK more than $1
million. Others say CNA has
bought more ads than it can
afford. Some people say CNA
is simply bankrupt.
As is often true in research-
ing the records of a company,
researching CNA has proved
to be no less than confusing.
The search for the truth
begins with CNA's name.
Marc Giguere of CNA said
CNA is merely an assumed
name for SSI Computer Sys-
tems, Inc., a Delaware com-
pany.
SSI is not to be confused
with SCI. SCI is the company
that makes the Z88 and IBM
and Wang keyboards, he said.
Giguere said Diversified
Foods owned New England
Sales, Unicorn Transportation,
and Cambridge North Amer-
ica.
He said that 4-5 months
ago, Diversified Foods was
bought by the Bank of Boston
and Cambridge North America
subsequently separated from
the conglomerate. He said
see CNA
page three
Z88s not just for little guys
It's small, but 'big' people still use it
The Z88 has always been considered by
non-Z88ers to be powerless just because
of its size. But several famous people have
proven size isn't everything. Many people
that are in the public eye are buying laptop
computers and the choice for some has
been the Z88.
Singer Mel Tonne, the jazz duo Tuck &
Patti, comedian/magician Teller of Perm
and Teller, and Anchorage Daily News
Editor Howard Weaver are all in die ranks
of those who own Z88s.
Mel Tomie uses a Z88 and it's said that
he is currently writing a book on it — that
is using it, not about it. Cambridge North
America has also reportedly approached
him about a making a televsion
commercial for them. It is still unknown
what will come of this.
Tuck of Tuck & Patti, an internationally
famous jazz duo, is said to be a real power
user. Tuck has a 512K RAM card in the
first two ports and several EPROMs to
use in the third. Tuck supposedly uses it
all the time and takes it everywhere.
Teller, the silent half of Perm and Teller
from New York City, surfaced on the Z88
BBS in Torrance, Calif. (BBS phone
number: (213) 370-2754). Teller has a
Z88, but not much else it certain — after
all, he is the quiet one. Penn and Teller,
though, apparendy have been computer
buffs for some time. At one time they — or
some real good fans — .were running a
Penn and Teller Fan Club BBS.
And even Howard Weaver, the editor of
the Anchorage Daily News, uses a Z88.
He lias written a few interesting programs
for it and is considering buying Z88s for
his reporters.
Z88 Fax News will keep its readers
updated on famous Z88 owners. Watch for
more articles on this subject in the next
few months.
— Curtis Claar
Welsh company sells linkup packages
The Music Suite Ltd. in
Wales is now offering two
linkup packages for the Z88.
They have been offering a
hardware and software linkup
package for the Atari ST for
nearly two years now and last
year they came out with one
for the Amiga. They have
plans for a PC version as well.
The Music Suite is run by
Adrian and Helen Wagner and
Francis Monkman.
"It has always been our
intention to fully support our
software," Adrian said in a fax
letter last month. Because of
this, they claim to offer more
than simple dump programs.
According to advertising,
the programs also route Z88
printer output to printers con-
nected to the ST or the Amiga.
A review is forthcoming.
The Z88 and Telecommunications
by Dave Bennett
The Z88 is particularly well
suited for communicating to modems
and other computers. A serial port
which communicates up to 38,400
baud, a VT52 terminal program and
a dedicated file transfer utility
are included with the stock Z88.
The Z88 also weighs only 2 pounds
and is easily transported right
next to the device you want to
communicate with.
My Z88 is mainly used to talk
to a pocket modem and a QL. Z88
files are archived on a QL disk. I
also occasionally communicate with
PCs at work and other Z88s.
I have designed and built
cables to communicate with the QL,
PCs and other Z88s. I built the
modem cable from recommended
pinouts by Cambridge.
The QL cable is as follows:
xmodem on each machine. You set up
one machine to send and one to
receive. Then you start the
transfer on both machines at the
same time.
You can transfer ascii files
without xmodem by various means
but I prefer to use xmodem. It
provides error checking in the
transfer so you know the files are
transfered OK. You can also
transfer any type of file even
machine language.
Z88 to PC and Z88 to Z88
transfers work similarly. On the
PC I prefer to use PROCOMM. It is
a powerful program and extremely
easy to use. I would like to see
it made available for the QL. For
Z88 to Z88 transfers I am using
Z88C0M on both machines.
The Z88 - PC and Z88 - Z88
cables are as follows:
Z88 DB9
PC DB25
QL SER2
2 3
3 2
i-4 4
!-5 ! 5
6 ! 6
7 i 7
! -8 ! 8
!-9 9
2
3
!-4
!-5
6
7
8
3
2
4-!
•5-!
6-!
7 !
8-!
20
I have tried several other
designs for a Z88 - QL cable but
have not found a cable that works
as well for transfer ing files.
What I- use to transfer files
are Q_Link for the QL and Z88C0M
for the Z88. Q_Link is a shareware
terminal program from Harvey
Taylor. It includes CRC and
Checksum xmodem as well as many
other features. Z88C0M is a
publicly available terminal
program from Phil Wheeler. It
extends the built-in VT52 with
checksum xmodem and some other
features. Phil also operates the
Z88 BBS in Los Angeles.
I basically connect the
computers with the cable and run
terminal programs which utilize
Z88 Z88
2 3
3 2
,-4 4-!
!-5 5-!
6 6
7 7
8 9
9 8
There also is a variation on
Z88C0M called Link by Dave
Armstrong which turns the Z88 into
a mini BBS. There are no message
facilities but you can transfer
files. All typing is done at a
remote computer. The Z88 just sits
8
there. It is similar to PRQCOMMs
Host Mode. It works well connected
to a computer in the same room.
Modem -facilities were removed from
this variation but you can connect
to the modem and then switch to
Link by hand. With this program
you can transfer files with
someone across town at a
prearranged time. You could even
transfer QL and 2068 files.
There also is another program
available for the 288 called ZFU
by Richard Haw. This is a utility
which takes many files and
archives them into one large file.
In the process it compresses the
files so the resulting large file
is much smaller. You can archive
all the files in all the ram
devices of the Z88 into one file
and just backup that one file to
your QL or whatever.
The Z88 also works nicely with
any Hayes compatible modem.
Here are the official modem
pinouts from Cambridge:
Z88 Modem
2 2
3 3
7 7
5 20
8 20
9 20
The Z88 includes a built-in
VT52 terminal emulator. It works
quite nicely although you have to
dial manually with Hayes AT
commands. It is also easy to send
and receive ascii files with just
the built-in software. The
built-in VTS2 also connects quite
nicely to a VAX mini computer once
you tell the VAX you have a VT52
with 8 lines.
But I like Xmodem. A terminal
program was developed in England
which provides xmodem. The
disadvantages of this program are
its high cost and it also adds its
own protocol in place of the VT52.
The built-in VT52 works ^much
better.
Fortunately Z88C0M came out
which provides xmodem but works in
concert with the built-in VT52.
Z88C0M is also much cheaper. In
most cases it is available for the
cost of a download. Z88C0M can
also autodial and autologon to
five systems. It has a message
upload feature for sending text
files. All in all it is a great
program.
The latest I heard was that
Cambridge just came out with a
VT100 terminal program. I have not
heard too much about this. The
VT100 can display graphics from a
remote IBM or VAX. It moves the
cursor around your screen on
command from the remote system. I
am not too sure how well this will
work on the Z88 with its 8 line
screen but it sounds interesting.
The Z88s portability and sheer
connectivity to anything speaking
RS232 make it a great little
computer for telecommunications.
HARK m USEKS: (WHAT A NICE GUY!!)
Dear Bill, I have been trying to
promote the Z88 for about two years. I
have about 350K of Z88 programs and
related QL programs that were downloaded
from two main Z88 BBS: 703-968-9438,
213-370-2754, and GEnie.
I can put the files on a QL 720 sector
disk or a IBM 360K disk. In the case of
the IBM disk I will substitute some IBM
programs instead of QL programs. See
below:
Z88 Public Dcmain and Shareware Programs:
(Approx 350K of files)
Available on QL DSDD 720 sector disk or
IBM 360K disk. The QL disk includes Z88
related QL programs. The IBM disk
includes IBM related files.
PRICE: A dollar to pay for mailing, or
two dollars to mail in a disk mailer.
David Bennett
329 R. Walton St.
Lemoyne, PA 17043
9
THE SINCLAIR QL
( BITCH.' BITCH? AND DO NOTHING )
"My BlndtauUt. QL ±A wr-AeJtiaMtt. that I cannot get. a, ^imp&e. one, page, tetter done, utithout
the. QL CAxuAing. The, cstath uMjatly happen* when the. AjepiLgeAatox. a* iannacz. klcJu on. " This
complaint was received a year ago from a QL Subscriber. Still, almost every week I talk to a
QL user who is still having such problems in varying degree. THERE IS NO EXCUSE FOR HAVING
SUCH PROBLEMS ANY MORE! ! Read on—
March 17, 1990
Bill Jones,
The Q/L on which this letter is being composed has been
modified per Dan Elliott's article. (July 1989) The lock up
problems associated with the Q/L power supply plaque me no
more. There is no longer a need to save text every few
minutes. The only lock up experienced now is caused by
conflicts between the software and the inputter.
The Coleco power supply is enclosed in a fabricated, black
case, with openings for air flow and is now sitting on the
floor providing cool uninterrupted power. This modification
is not difficult, it's not expensive, and is highly
recommended. Tell everyone to do it themselves or call Dan,
but get it done!
My confidence in the Q/L is now such that I am in the process
of putting together a disk drive system and saving for a
Trump Card expansion. The microdrives work fine, usually, but
I would prefer a faster, more reliable system.
Ha ! ! The furnace just came on and someone started the
microwave and I am still input' in. To bring this to a close,
I thank you and all who contribute to the cause of keeping
the T/S computers working; the writers, programmers, and
dealers.
sincerly, Elliott Repairs all Computers
KfiJ\ RR-1, Box 117 Specializes in repair
Donald R . Lnes Cabool , MO 65689 of QL and TS-2068
1900 sunvale Tel 417 469-4571 Power mods for both
olathe, ks 66062 (weekends)
, (ny Coleco Vs SfTs (WeA 71*- wpnfT&a*.)
Ed note: Need I say more? But I will. Some QL users get the downs because they are
affected by the dis-respect from the Yuppies, the ridicule from the $5000 IBM users, the
syndrome "I only paid $100 for it so it must not be very good", and the "Sinclair abandoned
us syndrome". ANYTHING to bolster insecurity and lack of self esteem. But others are
bragging that their QL does 10 times as much as the IBM AT. I guess that is the difference
between the pessimist and the optimist. You know what I mean. The pessimist believes that
the sky is falling upon him, while the optimist believes that the sky is rising with him in
it. Me? I believe that when one has a problem he should fix it. When it is forecast to
rain I leave my hat behind as I go fishing. On Sunday I believe that the preacher will soon
quit talking. I'm always sure next months bills will be less, that Ed McMann will send me
that million that he promises, and the Wife wont have a headache. Don, my QL is working fine
too! But work on that interface conflict, and you'll overcome. -BJ_
10
Runinatioos Fran The QL Editor
WOOD AND WIND COMPUTING
There is a lot of interest among QL users about
the PC world and MSDOS operating system. Its
makes sense because the influence of PCs on
personal computing is tremendous. Digital
Precisions emulator, PC-CONQUEROR, makes it
possible for any QL user with disk drives and
memory expansion to turn their QL into a quasi
PC. This is certainly a novel capability and
has useful applications but be aware that the QL
makes for a SLOW PC, The QL is a fine computer.
With disk drives, memory expansion, or TRUMPCARD
it can still hold its own against a PC. It is
slower in many ways but has capabilities that
most PCs do not. If you use your QL effectively
you can still work as fast or faster on it than
most PC users can on their computers. It can
serve you well for years to come. Learning
to use your QL effectively probably makes
more sense than playing around with MSDOS on
it. The purpose of UPDATE Magazine is to
help you reach that maximum potential with your
QL.
That said, I need to explain why we are
giving so much coverage to MSDOS in this issue.
It's definitely not because we feel that the QL
is dead and we all need to swtich to MSDOS.
It's because we want to provide information to
our readers. There are many QL users who are
curious about MSDOS and many others who work in
both the QL and PC worlds. UPDATE needs to
check out QL Software related to PCs such as :
DISCOVER (allows QL PC disk compatility, $40),
PC CONQUEROR (PC emulator and allows QL PC disk
compatibility, $150??). PC software related to
the QL include : PSION 's PC-POUR (PC versions
of QUILL, ABACUS, EASEL, and ARCHIVE, $99) .
This issue is packed. Part III of David McCall's
WINDOW DEFINING series focuses on SUPERBASIC
procedures .
Peter Hale starts a 2 part series on TEXT87.
Al feng clears the air about ROMs on the QL.
Bob Hartung shows how to set up an ARCHIVE
address database.
Bill Jones shows us some QUILL printer
driver tricks .
We have lots of coverage of PC CONQUEOR and
MSDOS with articles by both Bob Hartung and Al
Feng.
There are a couple of articles about the
TS-2068 that the QL users may benefit from. One
is about Dot Matrix printer drivers. The other
is a Business Software for the TS-2068, done in
Basic. This excellent program offers a
challange to the QL users to clone it in Super
Basic. The benefits will be worth the effort
and the conversion should be good practice.
Finally, I explore the QL-PC connection
through ARCHIVE by showing how I converted one
of my ARCHIVE programs to work on a PC. And
there is more.
Next issue David McCall will tie up his Window
Defining series and we will have an Issue Disk
of it. Peter Hale will continue his in depth
description of TEXT87. More of Timothy
Stoddard's TRUMP CARD Manual.
Don't forget about the 1990 Sinclair Computer
Exposition in Milwaukee hosted by SMUG on the
weekend on June 2&3. See You there.
21
Bill Cable : RR 3 Box 92 : Cornish, NH 03745
CABLE COLUMN
QL - ARCHIVE - PC
Databases are specialized programs for efficient
handling of both text and numeric information on a
computer. Anyone trying to put their computer to
good use should be using a database in one form or
another. As many of you know I am a great fan of the
ARCHIVE database and programming language. I write
commercial software with it. For handling
information on a QL it has no peer for its
capabilities. This is not to say that there is not a
price to pay for using ARCHIVE. Either you have to
learn how to use its programming language or you
have to buy ARCHIVE programs. Other alternatives
include buying FLASHBACK or write or buy database
type programs written in SUPERBASIC or other
languages.
In earlier issues of UPDATE I have tried to explain
the basics of using ARCHIVE. Now that I see there is
so much interest in MSDOS by QL users I want to push
ARCHIVE from another angle. If you want to be able
to do something useful on MSDOS computers then learn
the ARCHIVE language on your QL. I have been aware
that there is PC version of ARCHIVE. But until
recently I have had very little experience on MSDOS
machines (PCs). After tackling my first serious
conversion attempt (making DBEasy work on a PC) I
would say I am already close to being an expert with
PC-ARCHIVE because the PC and QL versions are so
similar. Almost all of the ARCHIVE I have learned on
the QL can be transfered directly to the PC. DBEasy,
my ARCHIVE database manager, is now available in
both QL and PC versions (see my ad) . The importance
of this QL-PC connection should not be minimized.
Transporting software and experience from one
computer to another is generally a very difficult
process. If you take an elaborate SUPERBASIC program
and try to convert it to run on a t PC using one of
the PC BASIC languages, almost certainly you would
have to make major changes to the code and a lot of
learning to do as well. So learn the ARCHIVE
language on your QL and you can apply what you have
learned directly to a PC. You can transfer your
databases and programs to a PC as well. And its not
like ARCHIVE is an inferior language. I still
maintain that it is one of the nicest languages
around. Its a nice structured procedure oriented
language with a built in editor and good error
messages and handling. Its very much like SUPERBASIC
without line numbers or bugs. And I have talked with
people who are experienced with PC- ARCHIVE and other
PC databases and they feel that ARCHIVE is a
superior database for PCs. Just like the QL was/ is
ignored by the masses, PC-ARCHIVE is ignored even
though it is a fine database. And compared to the
price of DBASE or PC database programs it is a
bargain.
This Cable Column is going to describe how I went
about converting my DBEasy program to the PC. This
included purchasing a PC computer, the Amstrad
PPC640 portable, and learning a little bit about
using MSDOS. I will also give some statistics
comparing DBEasy' s performance on the QL and on
different PCs. We already have ARCHIVE for our QLs.
For the PC you must purchase it as a package with
QUILL, ABACUS, and EASEL called PC-FOUR. The price
is about $99. It can be purchased from me (see my
ad) or EMSOFT or RMG or Sharps. If you work en a PC
it makes sense for you to have PC-FOUR because you
use the same programs on your QL. The PC versions
also have extra features. It's pure folly to
purchase PC-POUR to use soley with PC-CONQUEOR. The
QL makes a poor PC.
Choosing a PC
Before I could do serious PC work I needed a PC
computer. DBEasy swamps PC-CONQUEROR so I couldn't
do the work on my QL with the emulator. Even if it
worked, life is too short for its snails pace. The
possible choices for a PC are limitless. They range
from an XT type (8088 or 8086 processor) or an AT
type (80286) or an 80386 machine with prices from
$500 to $2000. My final choice was a portable by
Amstrad, the PPC640. It is an XT type but the 8086
processor has a 16 bit data bus so it is almost as
fast as an AT of similar clock speed (8 MHz) . It is
too heavy to be a laptop but is totally portable and
takes little space to set up. It will run from
batteries or 12 volt DC (as in a car) or normal
house current. I have my own home power system and
the fact that it uses only 20 watts of power and I
can run it on 12 volt DC were big pluses to me. I
also liked it having a full size AT style
keyboard. It has two 720k 3 1/2 inch drives. It has
an LCD screen (no backlight) but will also plug into
my Magnavox RGB monitor with CGA display. I use the
same monitor with my QL. The PPC640 also has a built
in 1200 baud modem with phone connector and is
provided with software to run it. It has 2 serial
ports and 1 parallel port. I bought it from
UNDER-WARE Electronics (800-442-1408) as advertised
in Computer Shopper for $700 plus $25 shipping.
Although still available, it is no longer in
production and was originally suppose to sell for
something like $1200. There are also versions with
one disk drive and no modem available for less. It
comes with DOS 3.2. It has worked flawlessly for me
and I recommend it. The keyboard action is not the
best but works fine. The drives are quiet. The LCD
screen needs good room lighting but is adequate. I
have found it to be fast compared to my QL mostly
because of much faster screen handling. There is
suppose to be a 20 Meg portable hard drive available
for $300 but I don't have it yet. It is certainly an
inexpensive way to break into the PC market place. I
have a comprehensive payables/ receivables package
for home and small businesses written in QL -ARCHIVE
that is almost ready for release. By converting it
to PC-ARCHIVE, I have a package to sell locally to
small businesses. Later if things go well I will
consider getting a more versatile 386 machine. Have
I abandoned my QL? No way! I consider QDOS a more
flexible operating system than MSDOS and I like
being able to multitask. I don't want to abandon
SUPERBASIC with its excellent language for making
quick programs wijbh very flexible graphics. Even if
slower in some respects, I can still work faster on
my QL because of its excellent features. In the
future I will work on both the QL and PC machines.
It is certainly nice to have the 4 PSION programs
available on both.
The DBEasy Program
DBEasy is a front end database manager for ARCHIVE.
It allows you to use most of ARCHIVE'S features
without having to know anything about its language.
It allows the user to create and manage all sorts of
databases. It is a large complex program (55k on the
QL and 56k on the PC) but very simple to use. As
with any friendly software most of the development
effort went into making clear and simple menus and
displays. -
Transfering DBEasy to a PC
Now that I had a QL, a PC, ARCHIVE for both I next
needed to transfer my QL files to the PC. There are
at least 2 ways available. The best way is to use a
QL software like DISCOVER or PC-CONQUEROR to copy
them to a PC formated disk on the QL and take the
disk to my PC. I couldn't do that because my QL has
5 1/4 drives and my PC has 3 1/2 drives. I have 3
1/2 drives on order for my QL from RMG to make life
easier. So I had to use the serial ports on my QL
and PC to transfer the files. I used the
ccmnunication software, MIRROR II, on my Amstrad to
conmunicate with my QL which had software so it
emulated a VT-52 terminal. I had some trouble
figuring out the cabling. Peter Hale provided the
necessary expertise to finally get it working. After
that it was simple. Only text (ASCII) files can be
transferred. This means I have to have my ARCHIVE
programs in _jprg form rather than _pro form. If you
save a program in ARCHIVE with the SAVE "filename"
ccmrand then it is saved in ASCII format (_prg). If
you save it with the SAVE OBJECT "filename" comnand
then it is saved in binary format (_pro) . Normally
you keep large programs in binary format because
they load faster but for transfering to the PC I had
to put them all in ASCII files. Also my databases
had to be in export (_exp) files (ASCII) rather than
database (_dbf ) files for the same reason. Since
screens (_scn) are not ASCII files I can't transfer
then. I must reconstruct them with the ARCHIVE SEDIT
canrand on my PC. After transferring I started
PC-ARCHIVE, imported the databases, rebuilt my
screens, started DBEasy and changed code where
problems existed.
Sane differences between QL and PC ARCHIVE :
The most important difference for me is that there
is no POSITION command and RECNUM() function in
PC-ARCHIVE. I like to use those features to keep
track of where I am in a database. If you use the
FIND ccmrand it is nice to know how far you are in
the file if you find something. ( They have been
replaced in PC-ARCHIVE by a more powerful ordering
and selecting process that allows you to keep 4
ordering and 1 selecting definitions at the same
time and switch between them. This is a very
powerful feature but my code doesn't take advantage
of it yet. The BACKUP comnand works differently in
the 2 versions. On the QL it is similar to a general
file copy ccmrand but on the PC it only works on
databases and does a record by record copy. In
PC- ARCHIVE there is no FORMAT ccmrand. There is no
RENAME command in QL- ARCHIVE. The PC-ARCHIVE has
more complexities with paper and ink colors because
mono and color monitors display differently.
PC-ARCHIVE and the other PSION programs have a
special task sequencing language (TSL) which can be
used to control the program at startup. This allows
me to have ARCHIVE and DBEasy start up
automatically, something I can't do with QL- ARCHIVE.
These are the major differences I have discovered
when I tried to run DBEasy an the PC. The hardest
part was dealing with all occurences of RECNUM() and
POSITION in my code. I have worked out a display
format on the QL which works surprising well on the
PC so the DBEasy program looks exactly the same on
the PC. Now that I know more about the differences I
can plan ahead so conversions will be much easier.
Since PC-ARCHIVE has more features than QL-ARCHIVE
it will not be as easy to transfer back to the QL
once I take advantage of those features.
12
DBEasy Performance Chart (time in seconds)
- Computer Type - - - - -
DBEasy QL IBM PC PPC640 AT AT
Task 7Mhz 4Mhz 8Mhz 10 MHz 20MHz
Load 69
Find 15
"xxx"
Step 58
10 records
Display 17
new page
Sum 13
Population
Order 13
by 'country'
94 57 48 10
17 11 9 2
50 19 12 8
20 7 5 2
9 4 2 1
18 9 7 1
Select 19 24 12 7 2
'Europe*
In the chart above I give elapsed time for DBEasy to
do various tasks on a few different computers. I
used my DBEasy program with the gazet database (155
countries of the world) modified for DBEasy. The
time is in seconds. The 20 MHz AT used DBEasy from
hard drive. On all the others it ran from disk
drive. I must say that using DBEasy on the 20MHz
machine was almost intimidating. You couldn't slow
it down by doing anything. Some may be horrified to
see how slow the QL is. But except for the tasks
which require heavy screen work the QL gives very
acceptable responses. And those that were slow like
stepping through 10 records are adequate because you
wouldn't be stepping through the records unless you
wanted to read them and you need that much time for
absorbing the information on the screen. Also notice
that finding things in a database is most
efficiently done by ordering and using locate if
possible. Locate is fast and is pretty much
independent of the database file size.
How do we judge the QLs performance against the
other machines? L QL much slower in its screen
handling. This is evident in QUILL and ARCHIVE. I
tried SPEEDSCREEN and LIGHTNING but they didn't
improve the times. Some programs still manage to
give fast screens. The EDITOR and TEXT87 are
examples. Also the QL was multitasking QUILL while
DBEasy was being run. That didn't affect the speed
of doing the tasks "because QUILL was sitting idle
None of the other computers can multitask. None of
the other computers can network either without
expensive equipment. And the AT machines cost 2 to 5
tiroes as much as the QL. At some point I will try
these same tasks on a THOR and pass on the results.
It should be much closer to the AT machines. If you
were to judge the QL purely on response tiroes it
shows its age. If you judge it on overall features
taking into account its powerful operating system,
its cost, and how much you can accomplish with it
then it still can hold its own against most PCs.
I have quite a group of QL Softwares and I'm
developing more for both the QL and the IBM. All
are priced low for what they do. I will list four
of my newest. I invite you to call or write for a
complete listing. Bill Cable.
HOOD AND HIND COMPUTING
SOFWSRE PCR W QL and PC
is a group of SUPERBASIC and
ARCHIVE programs (DIRLUX, FILEX, DBEasy) that
will help organize all your
disks/microdrives so you can make sense out
of them. It includes DIRlux which
displays/prints directories is a column
format and ahs a file finder. Also included
is FILEX which makes a export file for
ARCHIVE of your disks so you can make an
instant database of all your files. You
import the FILEX export file into ARCHIVE
with DBEasy which is also included. DBEasy
is an easy to use front end for ARCHIVE so
you can make and manage all sorts of
databases without knowing the first thing
about ARCHIVE. DBEasy is also available
separately and is described below. CHAOS
BUSTERS is tied together through a Main Menu
so you can do move around easily between the
options. It is supplied with ample
documentation plus extra software not
described. If you already have DBEasy you
can purchase CHAOS BUSTERS for $9.95.
($29.95 5 1/4 or 3 1/2 disk)
An ARCHIVE program that makes using
ARCHIVE a snap. Everything is done from
simple menus. You don't need to know any
ARCHIVE comands but still have most of
ARCHIVE'S power. It allows for the creation
and managing of databases for all
applications. You can easily switch any of
your databases. ($21.95 on 5 1/4 or 3 1/2
disk, $24.95 on 2 micro)
PC Software for IBM ccnpatibles
PC-PCUR by PSION : The same QUILL, ABACUS,
EASEL, and ARCHIVE that you use on your QL
for the PC. They have more features than the
QL version. They come on 5 1/4 360k disks
with a thick manual and a tutor disk that
make it easy to learn how to use them if you
don't know already. I will include PS&sy
free with any purchase of PC-FOUR. ($99 on
5 1/4 disks)
for those who aready have
PC-ARCHIVE I offer DBEasy in a PC version.
It works almost exactlty like the QL version
and you can export QL DBEasy database to the
PC and back. ($21.95 on 5 1/4 or 3 1/2
disks)
Order today or write for a list of all
software avajjabje. ;
Hood and Hind Capting
(Bill Cable;
RR-3 Box 92
Cornish, 1W 03745
603 675 2218
13
SETTING DP QUILL FOR PRINTERS
Seating up TYPEFACES ion, F4
Using "INSTALL BRS"
Vesklim , 3JLJLo*jaru/J
The "INSBSLLJBSS11 program in our PSION suite
is used to do all of these jobs to make our
printer do what we want it to do. INSTALL_BAS
is used to revise our PRIMrERJDAf program in the
PSION suite for use by the Quill, Easel,
Archive, and Abacus softwares. So, how do we do
it? Peter Hale gave one way to do it in the
last issue of Update. This time we will do it
in a simple fashion. If you had trouble with
the procedures given in Peter's article, try
this and when it works, go back to Peter's
article for a more elaborate printer control set
*• FIRST A DEMOTION:
This and the above style is gotten by use of
the F4 Key and "B for BOLD"
This style is gotten by use of the F4 Key
and "U for Underline".
ThU Atylz. -U gotten, by ua*. o4 *no, F4 Kqjj
and "H" 4 a* High, ScnApt" .
This style is gotten by use of the F4 Key
and "L for Low Script"
Such CaiMnatioos (U tkM, three lines
demonstrate oaa. goibuv by uAUng ihe. F4_Kzn and
repeated electives of "B, H, L, or U".
But what about this style of print that
comes up as "standard" when PRINT is elected at
the Quill Cormand menu? Well, the normal
"Printer_dat" program puts you in "draft quality
mode", while this style is "Letter Quality"
mode.
OK. The illustrations are just to show that
the quilt F-4 Key electives for TYPEFACE need
not be for the print styles given to us in the
PSION suite. In fact, each type of printer has
its own typefaces that can be substituted for
such PSIONi elnctives as "high Acsupti low
script, and DOIQ . And, you can set in any
style that you choose for these F4 electives.
The styles demonstrated are those that I
elected to install in the Printer_Dat program
for my KXP-1124 printer. Each user needs to
decide what style is wanted and then proceed to
change the Printer_dat program to his needs.
This is done by using the Printer Manual to
find the Comrand Codes to "install" in the
Printer Dat program. The "process of
installing" is via the use of the "INSTALLJ3AS"
program that is in your Quill disk (MDV)."
Now teU do W.
The electives given in the steps below are
my own for my printer. Use your Printer Manual
to substitute the command codes for the
electives that you choose in each of the steps.
1. Leave FLP1 and MDV1 Empty and turn ON the
QL. Then the Fl Key will put you in Super
Basic.
2. We will use FLP commands but you can use
MDV instead.
3. Remove the write protect tab on the
floppy.
4. TYPE: LRUN FLP 1_INSTALL_BAS
5. When the Install_bas program loads you
will need to: .,,-.»
a. elect the drive that your Quill disk
is in. _
b. elect the ser port that you use for
your printer.
6. The "Current Printer_Dat program will be
loaded and this begins the process of installing
your own printer codes .
7. A list of different Printers will be
presented.
8. Use the Down Arrow key to highlight
"OTHER" .
9. Use the Right Arrow Key to erase OTHER
and then type in the name of your printer.
10. Use the F2 Key to EDIT.
11. The printerjdat set-up will be
displayed.
12. Use the down arrow key to elect each o£
the following lines to edit. As each line is
highlighted, use the right arrow key to erase
the line (if needed). Then type in the new
Unea. PORT: Make this the Serial Port that you
use for your printer.
b. BAUD RATE: Should be 9600.
c. PARITY: None.
d. LINES: 66
e. CHRS/LINE: 80 for Pica, 96 for Elite, or
larger for other smaller styles of print that
you want THIS Printer_Dat program to control .
f . CONTINUOUS FORMS: YES.
g. END OF LINE: CR,LF (carriage return and
line feed).
Now we will begin to set in your SPECIAL
PRINTER CODES to SET your desired functions.
h. PREAMBLE: This sets the printer when
"PRINT" is elected with Quill °* one of the
other PSION softwares. I chose to set the
following (cammand codes for KXP-1124)
27,120,1,27,107,2 (This sets LETTER QUALITY
and then Courier Font, and then ELITE STYLE).
Refer to step "e" above. For this ELITE
style the CHRS/LINE setting is 96.
i. POST AMBLE: Here we want to assure that
when PRINTING has been done, the FORM is fed up
to the start of the next form. Insert:
FF,CR (Form Feed and Carriage Return)
j. BOLD ON: The Printer Codes for the Type
Style that you want the F4 Key to control : My
choice was:
27,119.1/27,69,1 (the first three sets
DOUBLE HIGH. The second three sets EMPHASISE
MODE (double strike).)
k. BOLD OFF: Use the OFF codes for each of
the ON codes used in j above. In my case the
OFF Codes were: 27,119,0,27,70
1. UNDERLINE ON: My printer codes used for
Underline ON was: 27,45,1. I decided that if I
wanted to Underline something, I'd also shift
into EMPHASISE MODE, 27,69,1. So the six
commands are entered as: 27,45,1,27,69,1
m. Use the OFF codes for each of the ON
codes in 1 above. (27,45,0,27,70)
n. HIGH SCRIPT ON: I decided to use my
printer's Script font, which is gotten with the
codes: 27,107,4.
o. The off codes for the above is to return
to the Courier font, which is: 27,107,2
p. LOW SCRIPT ON: I decided to use my
printer's ITALIC style and DOUBLE STRIKE, the
command codes: 27,52,27,71
q. Off Codes for the above are: 27,53,27,72
r. This ends the Printer_Dat set-up, and
none of the other lines were changed.
13. NOW WE NEED TO DO THREE MORE THINGS:
I'LL STEP IT OUT A, B, C.
A. Run the cursor up to the NAME (first
line) .
B. Touch F2 to SAVE. Your new Printer_Dat
program will be SAVED to disk or mdv,
C. Touch F5 to INSTALL. Your PRINTER_DAT
program will be Installed as the one to use when
PRINT is elected by one of the PSION programs.
mi Wel 1 , I'll give you some of my
illogical reasoning. I Uhs, to knap thAJig*
vvwxj simple,. Instead of putting in a lot of
special key codes, you'll now have ONE disk or
mdv for ELITE STYLE. The F4 Keys are set up to
give you the examples used in this article.
Next, REPEAT the steps given for setting up
another Quill Disk for PICA 80 chrs/line, and
still another for "another style". I set up my
third disk for the nice MICRON 120 chrs/line
that my KXP-1124 has. To do these two
additional disks only required changing two
lines, the line for CHRS/LINE and the Preamble
line for the SET-UP UPON BOOT IN.
There are several reasons that I decided to
use separate disks for the three styles. First,
the PSION suite does not let you have different
"DESIGN" for successive printed pages. Then,
the different widths of print (Pica, Elite,
Micron) mixed in printed lines would cause
FORMAT inconsistancies. Even so, there is one
slight problem with this Printer_dat. When
using BOLD, the characters are DOUBLE HIGH. For
the best results BOLD should be used only for
HEADERS, and for printing on the FIRST line of a
separated paragraph. Otherwise when BOLD is
used for more than one line there isn't any
separation between the two lines.
YOU COULD SET UP LESS SPACING BETWEEN LINES
One could set up other PRINTER_DAT programs
to use CONDENSED PRINT or SUPERSCRIPT for
printing. These styles used for manuscript
printing need shorter spacing between lines.
Since I'm not a Lawyer and do not need to use
"fine print" to hide legalese in contracts, I
really do not need such small printing.
But if you do, you can use the PREAMBLE line
to SET the Print style, then superscript, and
THEN, SET the PRINTER LINE SPACING to something
other than 1/8" line spacing, say 1/16" for
superscript, or 5/64" for condensed. Those
settings would give about 120, or 96 lines per
page form, and a whale of a lot of data per
page. Imagine, a print style of MICRON 120
chrs/line, then superscript, then 1/16" line
spacing, 1/16", to give 120 lines per page, to
give over 12000 characters per printed page!
Or, Condensed 160 Chrs/line, superscript, 1/32"
line spacing to give 240 lines per page, to give
40,000 characters per page! (My math could be
°"-> Sunrary
1. Every user should learn to use the
INSTALL_BAS program to make tailored PRINTER_DAT
set-ups that your printer is capable of
supporting.
2. Once you do a simple new set-up with the
Install_bas program, you'll remember how and you
can always revise the _dat program to do
whatever you want to do with your printer.
3. Each brand of printer has its own best
print styles that should be taken advantage of
with custom Printerjdat set-ups.,
4. While I cannot find much use for setting
up different styles of print that have different
character widths, it can be done. One can
account for inconsistant line lengths of
separated paragraphs, but mixed widths of print
in the same line would be difficult to format.
Also, the DESIGN FUNCTION would not provide
consistant page length with Mixed styles and
different printer line spacing.
5. A simple approach is to use different
disks/mdvs for Print styles, with all styles on
one disk's printer dat having the same character
width.
6. If you DONT learn to use Install_bas, you
will not have much lattitude of style
selections. You will ALWAYS: Print in Draft
Quality, Pica 80 Chr lines, and your F4 Typeface
electives will be for superscript and subscript
styles. These are fixed by the given
Printer_dat program.
learn to use INSTALL_BAS. To do so just
requires a little practice, and coordination
with the printer manual. EnJoV! _BJ-
15
The following article, by David McCall, is second in a series. The first article was
given in the October 1989 issue. The Program Listing given in this issue can be
linked with that given in the Oct. issue. Or, the individual programs will work
independant 1 y .
WINDOW DEFINING:
A Program, part III
by David McCall
This is the next to last article for the window defining program. The first
one described the machine language routine which was necessary to swap screens.
The second one detailed the variety of functions needed and now the procedures
will be discuss. After this series has been completed you should have a better
understanding of SuperBASIC's functions and procedures and their variety of uses
along with a better understanding of the value of using machine code to supplement
a programs speed and versatility.
As in the previous articles indentation has been used throughout the writing
of these procedures. Most of the procedures are straight forward but different
techniques have been used to illustrate the power and versatility of SuperBASIC
especially when ToolKit II is installed. Most of the procedures use the Toolkit's
additional utilities, PRINT USING and CHAR INC. The procedures can be rewritten to
avoid these routines if it is necessary.
Let's start off by describing the first procedure at line 4000. The procedure
is called done and takes four parameters xX, y%, len%, and value%. The procedure
prints the value% in a signed field of length, len%, at position x%,y% and clears
the default value which was printed at x%+l,y%. This procedure is used after a
value has been typed in to update the screen.
PRINT USING was used to ensure the number lined up properly and stayed within
its allotted space. The PRINT USING function takes a string as its first para-
meter, which describes how the successive parameters will be printed. In our case
the string was made up of a SuperBASIC function FILL$ which creates a string of
character of a desired length. A was concatenated before it to ensure there
was room for the sign to be printed. For more information on the above functions
read the Toolkit II manual section 13.1 and the SuperBASIC manual section
KEYWORDS page 23.
The next procedures prin t lis t max chr , line 4050, and print_list_max_point
line 4110, displays the maximum number of characters that can be displayed in the
window (max_xc,maxyc) and the maximum point positions (max_xp,max_yp) , the
graphics origin (xg»yg)> tne number of pixels which corresponds to the window
height, and the midway point between the origin and the maximum point position.
Arrows are printed after each value to indicate which direction it refers to. This
has proved useful to clear up the confusion about which direction the x and y
parameters refer to in different commands.
Remember rnaxxc, max_yc, max_xp, and max_yp are the functions written in the
previous article. The global variables are:
scl = the SCALE of the window
xg,yg - the graphics origin defined by the SCALE command
scr_x,scr__y = the x and y dimension of the window
brder = the BORDER width
cxi,cyi = the number of pixels a character occupies in the x
and y directions
SWAP,swap2 = the machine language address to swap the command
and defining windows, respectively
xpO,ypO,sxO,syO = the position and size of the window being swapped
cbl,cb2,cb3 = the color of the BORDER
cpl,cp2,cp3 = the color of the PAPER
cil,ci2,ci3 - the color of the INK
csw,csh = character size width and height
doit = the flag which indicates what to display in the
definine window after a command
a_or_m = the flag which indicates whether the window is being
moved or altered in size
16
The procedure that does most of the work is recalculate, line 4220. It tak -s
care of erasing the old window, putting the new one back up, and updating the
appropriate variables. Here we see the first use of the machine language routine
which was loaded into the location pointed to by swap2. As you remember the para-
meters for this routine are save/recall, origin, and size, see line 4230. If the
save/recall position is one the previous screen is recalled which is the first
thing that is done in this procedure. Next it checks to see if the window size is
too big and adjusts if necessary. The new window is opened and set up. Next the
origin and size for our machine language swap routine are recalculated, see part I
of this series and lines 4310 to 4340. The screen is save under our new window and
then the window is displayed.
The next two procedures displays information to the user. The first, results
line 4400, displays all the relevant information about the current window, the
defining window, that is being constructed. The second one, commands line 4690,
prints a table of the commands that are available. Everything is labelled, placed
and colored to ease in reading. An interesting approach has been used to print
this information. One color of text is printed at a time and each time the ink
color is change the cursor is repositioned at the top and the next mask is
printed. This is accomplished by using OVER 1 and tends to save some memory by not
repeatedly changing the INK color over and over again.
The display procedure, line 4790, is an added visual feature which as proved
useful, in creating windows. It fills the current window with 'QL' or puts a hash
at the graphics origin depending on the last command executed. This helps size the
window when you want your characters to exactly fit the window or when you want
the origin in a specific location. By looking at lines 4800 to 4870, we see that
the SELect ON command was used instead of the IF-THEN-ELSE construct. This
decision was made in part to show an alternative to the IF statements and to allow
an easier change in the future if different displays are wanted after other
commands .
Of course the window to display the information, the command window, needs to
be created. This is accomplished in the procedure setup, line 4900. LOCal
variables are used with same name as global ones. This allows us to keep the same
descriptive variable names without changing the global values. The window para-
meters are READ in through DATA lines, line 2 to 5. (NOTE, lines 8* to 13 are the
initial values of the defining window and will be used in the main program.) This
allows easier changes to the window without searching through the entire program
to find where the window was defined. A RESTORE should always be used before
READing any DATA because the line number from where the DATA will start to be READ
is not reinitialed with the RUN command. The text '» MOVE «' or '» ALTER «T~Ts
also displayed depending upon the value of a_or_m which will be set in the main
program. Finally, the area of the screen which the command window will occupy is
saved.
Last but not least, a procedure to print the title and author of the program
is included, name line 5120. The extra underlined spaces are used to draw a line
to separate the title from the rest of the command window and underline the
author's name. In some cases UNDERlining or drawing a BLOCK for a straight line is
faster and easier.
The line numbering used has been constructed to ensure that all the articles
can be merged together without out conflict. In the final article the simple main
program -will be discussed. The functions and procedures presented in this series
is a basis to build and learn from. In some instances a better approach could have
been used but the intent was to show several different ways to attack a problem.
If you don't want to type in the listing an "Issue Disk" will be available.
LISTING A
1 : REMark Command window
2 DATA 301,211,0,0: REMark screen - height, width, x,y
3 DATA 0,0,0: REMark paper color, contrast, stipple
4 DATA 2,2,0: REMark ink color, contrast, stipple
5 DATA 2,0,12,10: REMark char size - wid th, height, x_inc,y_inc
6 :
7 : REMark Defining window
8 DATA 100,50,320,128: REMark screen - height, width, x,y
9 DATA 1,7,7,0: REMark border size, color, contrast, stipple
17
10 DATA 0,0,0: REMark paper color, contrast, stipple
11 DATA 2,2,0: REMark ink color, contrast, stipple
12 DATA 100,0,0: REMark scale, (x,y) graphics origin
13 DATA 2,0,12,10: REMark char size - width, height, x_inc,y_inc
14 :
4000 DEFine PROCedure done(x%,y%,len%, value)
4010 INK#3,4
4020 AT#3,x%,y%: PRINT US ING#3, '-'&FILL$( '#' ,len%) , value :AT#3,x%+l,y%
: PRINT#3 , FILL$ ( ' T, len%+l )
4030 END DEFine done
4040 :
4050 DEFine PROCedure print_list_max_chr
4060 AT#3,8,13
4070 INK#3,4:PRINT_USING#3,'## tL' ,max_xc
4080 AT#3,9,13:PRINT_USING#3,,## 0',max_yc
4090 END DEFine print_list_max_chr
4100 :
4110 DEFine PROCedure print_list_max_point
4120 AT#3,8,13:
4130 INK#3,4:PRINT_USING#3, '-### & 1 ,max_xp
4140 AT#3,9,13:PRINT_USING#3, '-### fl' .max_yp
4150 AT#3 ,12,13: PRINT_USING#3 , ' -### & 1 , xg
4160 AT#3 ,13,13: PRINT USING#3 , ' -### % * , yg
4170 AT#3 , 16 , 12 : PRINT?3 , scry-2*brder-l
4180 PRINT_USING#3,'\ -##.## , -###.##' ,-(max_xp-xg)/2,-(max_yp-yg)/2
4190 name
4200 END DEFine print list max point
4210 : " ~
4220 DEFine PROCedure recalculate
4230 CALL swap2,l,xp0,yp0,sx0,sy0
4240 IF scr_x+xp>512 THEN scr_x=512-xp
4250 IF scr_y+yp>256 THEN scr_y=256-yp
4260 0PEN#4, ,scr_,&scr_x&'x'&scr_y&,a1&xp&,x,&yp
4270 PAPER#4,cpl,cp2,cp3:INK#4,cil,ci2,ci3
4280 SCALE#4 , scl , xg , yg
4290 CSIZE#4,csw,csh
4300 CHAR INC #4,cxi.cyi
4310 xpO=INT(xp/8-.5):IF xpO<0 THEN xpO=0
4320 sxO=INT(scr_x/8+.5)+2:IF xp0+sx0>64 THEN sx0=64-xp0
4330 ypO-yp-l:IF ypO<0 THEN ypO=0
4340 syO=scr_y+l:IF ypO+syO>512 THEN sy0=512-yp0
4350 CALL swap2,0,xpO,ypO,sxO,syO
4360 B0RDER#4, brder,cbl,cb2,cb3
4370 CLS#4
4380 END DEFine recalculate
4390 :
4400 DEFine PROCedure results
4410 0VER#3,1
4420 INK#3,4:PRINT#3,'scr_ x a x'
4430 PRIOT#3,' BORDER , .
4440 PRINT#3,' PAPER ,
4450 PRINT#3,' INK , ,'
4460 PRINT#3,* SCALE , * ,'
4470 PRINr#3,* CSIZE
4480 PRINT#3, 'CHAR^NC ,*;
4490 PRINT#3,\\'plot: max_x ='\TO 6;'max__y = \\T0 6; min_x = \TO 6; min_y -
4500 PRINI#3,\' print: max_x - '\T0 7: 'max_y
4510 PRINI#3 ,\ * pixel : max_x = * \K) 7 ; max_y = 1
4520 AT#3,0,0
4530 INK#3,7:PRINT_USING#3,' ######### ###V ,scr_x,scr_y,xp,yp
4540 PRINT_USING#3,' ## # # #V ,brder,cbl,cb2,cb3
4550 PRIOTJJSIN^,1 # # #\' ,cpl,cp2,cp3
4560 PRINT_USING#3,f # # #V ,cil,ci2,ci3
4570 PRINT_USING#3,' ###-### -###\' , scl, xg,yg
4580 PRINT_USING#3, ' ##\',csw,csh
4590 PRINT USING#3, 1 ## ##V ,cxi,cyi
4600 PRINT:USING#3,'\ -####.### «»\ -### UV
,max xp,max_yp
4610 PRINT USlNG#3,'\ -### <»\ ?l\ »xg»Yg
4620 PRINT~USING#3,'\ ## ti\ ## 4»\ »max_xc,max_yc
4630 PRINr~USING#3,»\ ### «A ### U\
, max_xpix , max ypix
4640 INK#3,2:UNDER#3,1
4650 AT#3 ,18,0: PRINT#3 , ' ' ;
18
4660 OVER#3,0:UNDER#3,0
4670 END DEFine results
4680 :
4690 DEFine PROCedure commands
4700 0VER#3,1
4710 INK#3,7:PRINT#3,' M'V A'V L'Y S'V I'Y P'V B»\
C'\' R\* A'V S'Y A'Y S'V MV^tj/VYSPC'V
' RTN'Y ESC'
4720 AT#3,0,0
4730 INK#3,4:PRINT#3,' ove\' lter'\' etter size'Y cale'X
' nk'\* aper'V order' V ommands\' esults'\
1 bsolute position's' tep move'Y absolute size'\
' tep alter \' ode'Y -moves screen or'\' alters size'\
' -redraws screen '\'&'
4740 AT#3,9,0
4750 INK#3, 2 : PRIOT#3, ' Ctrl' \' Ctrl '\' alt'V alt'\ 'ctrl'WWV EXITS'
4760 0VER#3,0
4770 END DEFine
4780 :
4790 DEFine PROCedure display
4800 SELect ON doit
4810 ON doit=l
4820 FOR i=l TO max_xc
4830 PRINT#4 , FILL$ ( ' QL ' , max_yc )
4840 END FOR i
4850 ON doit=2
4860 LI.NE#4, 5,0 TO -5,0:LINE #4,0,-5 TO 0,5
4870 END SELect
4880 END DEFine display
4890 :
4900 DEFine PROCedure setup
4910 LOCal scr x,scr^,xp,yp,cpl,cp2,cp3,cil,ci2,ci3,csw,csh,cxi,cyi
4920 RESTORE 4000
4930 READ scr_x,scr_y ,xp,yp
4940 READ cpl,cp2,cp3
4950 READ cil,ci2,ci3
4960 READ csw,csh,cxi,cyi
4970 IF scr_x+xp>512 THEN scr_x=512-xp
4980 IF scrjH-yp>256 THEN scr_j=256-yp
4990 0PEN#3 , ' con_ ' &scr_x& * x ' &scr_y& ' a* &xp& 1 x ' &yp& ' 10 '
5000 PAPER#3,cpl,cp2,cp3:INK#3,cil,ci2,ci3
5010 CSIZE#3,csw,csh
5020 CHAR_INC #3,cxi,cyi
5030 AT#3,0,0
5040 IF a_or_m THEN
5050 PRINT#3,*» MOVE « '
5060 ELSE
5070 PRINT#3,*» ALTER «'
5080 END IF
5090 CALL SWAP, 0,0, 0,38, 211
5100 END DEFine setup
5110 :
5120 DEFine PROCedure name
5130 " INK#3,4
5140 AT#3 ,19,6: PRINT#3 , * Wind Def *
5150 PRINT#3,'by ';
5160 INK#3,7
5170 PRINT#3,' David McCall »;
5180 INK#3,4
5190 PRIN^'aigsg*
5200 INK#3,2:UNDER#3,1:0VER#3,1
5210 AT#3 ,18,0: PRINT#3 , 1 • ;
5220 AT#3 , 20 , 4 : PRINT#3 , ' ' ;
5230 UNDER#3,0:OVER#3,0
5240 END DEFine name
19
C3JL. SPREADSHEET MATR I X
Bob Har tung
1:
2!
3! EXPENSE ITEMS:
4!
5! Bus.niles
61 IRS mileage
7!Postage & fees
i H
1990
I I ! J
FIWNC1AL REPORT
jan
C5*8.255
8
S
sun(C6:C8)
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
NOV
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
sun(C14:C16) -
18! EXPENSE/MONTH
11!
12! INCOME SOURCES:
13!
H'.Uidget Co.
15IABC Specialties
MS ... .
17!
18! INCOME/MONTH
19!
28! 1990 BEGINN1N6 BAL (enter constant)
21 !
225T0TAL INCOME 018
23!
24! CASH ON HAND C28+C22
WiTOTAL EXPENSES 018
27!
28! ENDING BALANCE C24-C24
29 1
After creating and saving a copy of the above Abacus (SS)
matrix for a simple accounting format, only a few addi-
tional steps are required to adapt it for any similar uses
of your own. It is easier to center the heading in row 1
if it is done last so start at cell A3 after booting up
SS. The default cell-width on boot-up is 10, but we will
change this to 8 later on so most printers will do
144-column printouts of the full spreadsheet in one pass.
Text entries are made by keying ' as the very first
character. Text entries made to one cell may span two
cells as long as the second cell is empty. The closing
is supplied by SS when ENTER is keyed. To avoid confusion,
if you miss entering the opening ■ it is best to key ESC
and start over. Enter the monthly headings across row 3,
and all the other labels. If the left-most labels in
column A all fill the A cells they will retain a uniform
left margin when a right-justify is used for text. Do not
enter the lines nor the formulas just yet as
printed out in the example or indicated by two - dashes.
When you have completed all the labeling with ENDING
BALANCE as cell A28, continue adding empty cells by en-
tering a single ' in column A for as many expense and
income catagories as you intend to add, plus a few extras
for any you may want to add later. The reason for this is
that when additional rows are inserted anywhere above the
final row in the matrix, anything in the last lines is
overwritten, so nothing is lost if these are null cells.
Change the cell-width by keying F3, G for Grid, W for
Width, 8 for the new column width, FROM A TO 0. Set text
to right-justify by keying F3, J for Justify, ke? ENTER to
change CELLS, ENTER for TEXT, R for Right, and range
C3:028. Enter whatever heading you want to use in row 1.
We are ready now to start plugging in formulas and
numbers. Move the cursor to C5 and enter 8 (zero). No
opening quote 1 is used for numeric or formula entries. To
repeat this across row 5 the ECHO command is used by
keying F3, E for Echo, ENTER (for the cell on which the
ANNUAL
DEC TOTALS
8 sum(C5:N5)
8
~ sum7c"i8~:N18)
8 sum(C14:N14)
8
8
sum(C18!N18)
rows 7, 8,
cursor is resting), range C5:N5- Do this for
14, 15, 16. After entering ' as text in ceils C9 and
C17, use ECHO to repeat in ranges C9:0? and C17:017,
respectively. If you will have 5-digit figures in the 0
column, you may want to use 8 dashes there for neatness.
Enter the formula as given in cell C6 and ECHO this in
range Enter the formula as given in C18 and ECHO
this in range C1B:N18. Enter the formula as given in C18
and ECHO this in range C18-.N18. Enter the formula as given
in 05 and ECHO this in range 05:08. Enter the formula as
given in 014 and ECHO this in range 014:016. In cell 018
enter sum(C18:N18), in cell 018 enter sum(C18j N18), in
cell C28 enter 8 or a beginning balance, in cell C22 enter
018, in cell 23 enter ' , in cell 24 enter C28+C22,
in cell 26 enter 018, in cell C27 enter ■ , in cell
C28 enter C24-C26. CELL formats persist till changed.
Change all numbers to right-justify by keying F3, J for
Justify, D to change defaults, N for numbers, R for Right.
If any cells need to be moved right* after new entries,
this may be done by the CELL mode of the Justify sequence,
then specifying the range or just a single cell, eg: C8.
To create a two-place decimal format for aligning all
monetary figures, key F3, U for Units, D for Default, D
for Decimal, and two for number of places. For better
clarity, any single cell or range of cells such as niUiqi
may initially be set to a single 8 with CELL and 6ENERAL,
then reset to two-place decimals as entries are made. For
a window display, with cursor at CI key F3, W, V, ENTER.
With this matrix as given, a narrow carriage (letter-
width) printer that has a condensed font of 17 c.p.i. will
print the entire spreadsheet in one pass if the column-
width is set to 144 by using the DESIGN command. If your
printer will not do 144 characters per line or you wish to
do printouts in a larger font, then the spreadsheet may be
done in two or more segments, eg: key F3, P for Print,
ENTER for display, N for grid only, range A1:J28 for the
first segment, then repeat, using Kl:028 as the range.
The matrix we now have may be saved and used as the
foundation for any spreadsheets that use this type format.
To insert more rows into it, with the cursor, on the row
following the- position where new rows are to be added, key
F3, 6 for Grid, I for Insert, ENTER (or row number), and
the number of rows to be inserted. ECHO any values or
formulas as necessary. Any existing formulas are adjusted
when rows are re-numbered by using Insert. Add null
rows to the bottom of the matrix if necessary.
TS-2068 BUSINESS SOFW
AR1-9.B1
By: Jim Bretz, Pernam, MN.
Manages Customer Charge Accounts
Pests new sales
Computes interest charges
Posts payments to accounts
Sums accounts balances
Prints out Reports
Prints out invoices
This comprehensive software proves that the
TS-2068 is a mighty fine computer for running
a business. The equilivant of this program in
use throughout the World costs hundreds of
dollars. Jim Bretz designed and uses this
AR1-9 software to run his large Hardware
business. Jim has versions of the software
for both LKDOS and SPDOS (Millenia K DOS).
The version given here is for LKDOS and the
V-3 LKDOS Printer Driver in EPROM. However,
any printer driver that supports TAB can be
used. Also, the software requires the 64
column screen to be enabled. This can be via
use of TASWIDE or the Zebra OS-64 Cartridge.
If you are using LKDOS then TASWIDE would be
appropriate. Incidentally if you dont have
TASWIDE, which works great with LKDOS, you
should spend a few bucks to get it (RMG
Enterprises is a good source.).
If you are using a DOS other than LKDOS (or
Cassette) , then as you key in the program just
substitute the LOAD and SAVE commands for the
storage medium that you use.
The Software programming is done entirely
in BASIC which makes the operation very user
friendly and adaptable for customizing to your
special needs. In fact, it is so user
friendly that only a few tips to get started
need to be discussed. The Main Menu is given
below:
ACCTS REC. Main Menu
1. ENTER NEW FILE
2. VIEW FILE
3. POST SLIPS'
4. COPY TO PAPER
5. REPORTS
6. NEW HEADER/CLOSING
7. EDIT LINE
8. CLOSE FILE/END DAY
9. SAVE DATA (BACK UP)
Key in the whole program and SAVE with a
starting line of 9500. ( SAVE "AR1-9.B1" LINE
9500 ). Next SAVE a couple of dummy account
files that will be needed. ( DIM
a$(20,5,21): SAVE "01001a. A$"DATA a$() ).
And: ( DIM d$(20,24,20) : SAVE "01001d.A$"
DATA d$() ).
These two character arrays saved to disk
will become durrmy files for the program to
sense a need to establish new files.
The Auto Load program
After Saving the main program and the two
dummy files, key in the LKDOS Autostart
program. This Autostart program may need
slight changes to initialize your own CPI
interface with POKES to the LKDOS. Lines 30
and 40 assumes that you have SAVED the taswid
Code via <SAVE "taswid. CI" CODE 63223,1492 >
to the same disk as you saved the main
program. Key in the Autostart program with
your needed changes and Auto SAVE it by: <
GO TO 60 >. Line 60 lowers RAM TOP to 300
bytes above the program length to conserve
disk space. Then the Autostart Program itself
will restore FREE Memory as it loads in (line
#5) and sets RAM TOP to account for the taswid
code load.
SOME MAIN PROGRAM TIPS
When the main program loads (via the
Autostart program) it begins running at line
#9500. Line #9530 prompts for input of DATE.
The date must be SIX numbers as: 010190, which
would represent the date of Janurary 1, 1990.
Then Line #9560 loads in the first account.
In this case it is the dummy account that you
saved with the name "01001a. A$". Then line
#9565 loads in the second part of the account
which you saved with the name "OlOOld.AS".
Then when these two files (dummys) are
loaded, the Main Menu is presented.
Select <1> ENTER NEW FILE. Now here is a
little quirk. The file number that you enter
must be 7 characters in length and must
conform closely to the dummy file name, which
is only 6 characters in length. Files must
begin with the first two digits "01" and the
last two digits "la" through "lz". EXAMPLE:
OlOOOlf would be accepted, but 020002a would
not. A close examination of the program lines
beginning, at line #410 will be helpful to
understand the composition of the "account
number" requirements.
Enter several new accounts and input dummy
figures for sales by category. Then use the
main menu to recall these accounts. After a
bit of practice the organization scheme of the
accounts will become familiar.
Since this is such a comprehensive software
and does so many functions, there will be a
feed back to answer the users questions. If
you should have problems, send your questions
to Update Magazine and they will be forwarded
to Jim Bretz for his answers. Please include
two Stamped envelopes, one a SASE. But lets
not call Jim for problem answers as he is a
business man who goes to work every day and
needs his sleep.
This Business software is available as an
Issue disk, ready to use for LKDOS.
21
VARIABLES
■
Am- -
-Val D$<X.Z»13 to 20)
Amt-
-Amount total Debit
Bal -
-Amount runing Balance
Crt-
-Amount total Credit
0
—Input for description menu
Des-
—Description Vai D$(x,z.ll to 12)
int-
-Amount total Interest
K
-Length of S$
Ln- -
—Line pOSlSClOu, rcu &jdo7 \ orvon /
Lb--
—Used in Lbi
Lbl -
—Over due Balance
P
—For/Next loop counter
Q
-For/Next loop counter, printer
s
-Used to Justify R$ and S$
T
-Terms flag
-Gross total Balance.
Tlbl
-Gross over due Balance
Tmi-
-Total months Interest added
Tint
-Gross total Interest
X— -
-Account number, Val X$<6 to 7>
z For/Next loop counter
1 REM Accounts Rec. T/S 2068 1986 Jim
Bretz
304 PRINT CHR$ 2
305 PRINT AT l,o;X$'A$(X,l)'A$(X,2)'A$(X,3)'A$(X,4,
1 TO 14);* ';A$(X,5,1 TO 2);'.';A$(X,5,3 TO 7)
307 IF A$(X,1,1 TO 4)=' ' THEN PRINT 'FILE NOT
FOUND': PAUSE o: GO TO j5
309 RANDOMIZE USR 64300: PRINT CHR$ 3
310 PRINT AT l,48;'Sheet:';A$(x,5,12 TO 13);AT 2,49
;'LSfflt:';A$(X,5,8 TO 9); V';A$(X,5,10 TO 11);AT 3,49
;"Date:';g$;AT 4,48; 'Terse: ';T$( VAL A$(X,5,14))
320 PRINT AT 7-(z=16),o;'No! Date! Slip 'Descriptio
n iCredit "Interest! Aaount ! Balance "
349 RETURN
352 LET S=VAL D$(x,z,13 TO 20)
354 LET k=9
355 LET r$=STR$ s: LET 1*L£N r$
360 IF L<2 THEN LET R$="0'+R$: LET L=2
365 DIM s$(k): LET s$(k-2)=".': LET s$(k-l TO k)=r$
(1-1 TO 1): LET s$( k-l+( k=l ) TO k-3)=r$(l TO 1-2): R
ETURN
400 REM leagel acct sub
410 INPUT 'ACCT. N0.';Y$: IF LEN Y$<>7 THEN GO TO
502
415 POKE 23658,0: LET x$=Y$: LET X*VAL X$(6 TO 7):
IF x>20 THEN 60 TO 502
420 IF X${1 TO 2)<>C$(1 TO 2) THEN PRINT 'PLEASE I
NSERT DISC NO. ';X$(1 TO 2)"AND TRY AGAIN.': PAUSE
0: GO TO 500
425 IF VAL x$(3 TO 5)>48 THEN GO TO 502
430 IF X$(3 T0-5)OC$(3 TO 5) THEN GO TO 450
440 RETURN
450 RANDOMIZE USR 100: SAVE c$+'a.A$' DATA a$( )
452 RANDOMIZE USR 100: SAVE c*+'d.A$' OATA d$( )
453 IF Z$>'7' THEN RETURN
454 RANDOMIZE USR 100: LOAD X$(l TO 5)+'a.A$" DATA
a$()
456 RANDOMIZE USR 100: LOAD XS(1 TO 5)+'d.A$' DATA
d*()
458 LET c$=x$( 1 TO 5)
499 RETURN
501 GO TO 505
502 BEEP .1,1: BEEP 1..1
505 BEEP .1,1: BEEP .1,5: BEEP .1,9
510 aS : PRINT 'ACCTS REC. MAIN MENU: ';AT 2,5; "1.
ENTER NEW FILE', TAB 5; '2. VIEW FILE', TAB 5; '3. POST
SLIPS' JAB 5; '4. COPY TO PAPER', TAB 5; '5. REPORTS', T
AB 5; '6. NEW HEADER/CLOSING', TAB 5; '7. EDIT LINE'JA
B 5; '8. CLOSE FILE/END DAY '.TAB 5;'9. SAVE DATA (Bac
k-Up)'
520 INPUT Z$: IF CODE Z$>48 AND CODE Z$<58 THEN : C
LS : GO TO VAL Z$*1000
530 60 TO j6
549 CLEAR : RANDOMIZE USR 100: SAVE "AR1-9.81" LINE
9500
1000 as : FLASH 1: PRINT AT o ,9; "ENTER NEW FILE"":
FLASH o: 60 SUB j4
1010 LET X=VAL X$(6 TO 7)
1020 IF CODE A$(X,1)<>32 THEN 60 TO 1900
1025 INPUT 'ACCT. NAME ';A$(X,l): PRINT A$(X,1)
1030 INPUT "St. ADDRESS" ;A$(X, 2): PRINT A$(X,2)
1032 INPUT 'RR or B0X';A$(X,3): PRINT A$(X,3)
1035 INPUT 'CITY';A$(X,4): PRINT A$(X,4)
1040 INPUT 'STATE, & ZIP";A$(X,5,1 TO 7): PRINT A$(X
,5,1 TO 7)
i050 POKE cap,8: INPUT ""IS THIS CORRECT Y/N ?:;Y$: I
F Y$<>'Y' THEN as : PRINT 'ACCT NO. ";X: POKE cap,
o: GO TO 1025
1110 as : PRINT "TERMS MENU:": PRINT AT 2,5; "1. ";T
$(1)'TAB 5; "2. ";T$(2)'TAB 5,"3. ';T$(3)'TAB 5; '4. "
;T$(4)'TAB 5;"5. ';T$(5)
1120 INPUT A$(X,5,14): IF CODE A$(X,5,14)>48 AND COD
E A$(X,5,14)<54 THEN GO TO 1130
1125 BEEP .1,1: BEEP l,.l: GO TO 1110
1130 LET A$(x,5,12 TO 13)* '01'
1140 as : INPUT 'Date of LSnt.\A$(X,5,8 TO 11): PR
INT 'LSfflt: ';;A$(x,5,8 TO 9); V';A$(x,5,10 TO 11): L
ET D$(X,1,1 TO 4>A$(X,5,8 TO 11)
1145 LET D$(x,l,5 TO 10)=' 00': LET D$(x,l,ll TO 1
2>' 1"
1150 INPUT 'Enter beginning Balance';Y$: LET D$(x,l,
13 TO 20)=Y$: IF LEN Y$(l THEN GO TO 1150
1151 FOR z=l TO LEN Y$: IF CODE Y$(z)>57 THEN GO TO
1150
1152 IF CODE v$(z)<48 THEN GO TO 1150
1153 NEXT z
1155 INPUT 'Enter OVER DUE Balance' ;y$: LET a$(x,5,l
5 TO 21)=y$: IF LEN y$U THEN GO TO 1155
1156 FOR z=l TO LEN y$: IF CODE y$(z)>57 THEN GO TO
1155
1157 IF CODE y$(z)<48 THEN 60 TO 1155
1158 NEXT z
1159 LET Z=l: 60 SUB jl: LET aat=s: PRINT 'Balance F
or. *;s$: IF s<=0 THEN LET D$(x,l,ll)='0': 60 TO 12
50
1160 IF S>0 THEN LET D$(x,l,ll)="r: INPUT "Enter b
eginning Interest" ;Y$: LET D$(x,l,5 TO 10)=Y$: IF LE
N y$<l THEN 60 TO 1160
1161 FOR z*l TO LEN y$: IF CODE y$(z)>57 THEN GO TO
1160
1162 IF CODE y$(z)<48 THEN 60 TO 1160
1163 NEXT Z
1164 LET z=l: LET s=VAL D$(x,l,5 TO 10): LET k=7: GO
SUB j3: PRINT "Interest charge' ;s$
1170 LET s=s+ant: GO SUB j2: PRINT 'Total Due: $';S
$
1250 PRINT AT 21 ,o; 'Press Any Key for MENU" "Press "
"C" to Enter a new Acct.': POKE cap.o
1260 IF INKEYS=" THEN GO TO 1260
1265 IF INKEY$*'c' THEN 60 TO 1000
1275 60 TO j5
2,2
1900 PRINT "THIS ACCT ";A$(X,1 )'"IS IN USE,"'" DO
YOU WISH TO DELETE ? Y/N": INPUT Y$: IF Y$<>"Y" TH
EN GO TO 1270
1904 PRINT : PRINT "This File ? ";A$(X,1);",(Y/N)"
: INPUT Y$: IF Y$='Y" THEN LET A$(X,1,1 TO 4)="
": FOR Z=l TO 24: LET D$(X,Z)=": NEXT Z: GO TO
505
1906 GO TO j6
2010 CLS : FLASH 1: PRINT AT 0,12; "VIEW FILE": FLA
SH o
2015 GO SUB 3015
2505 POKE cap, 8: PAUSE o= IF INKEY$="R" THEN LET
Z=l: CLS : GO TO 3030
2510 GO TO 2000
2950 PAUSE o: GO TO 2000
3010 CLS : FLASH 1: PRINT AT o, 10; "POST SLIPS": FL
ASH o
3015 LET Z=l
3020 GO SUB j4
3030 GO SUB jO
3045 POKE cap ,8: INPUT "Correcrt File Y/N";Y$
3048 IF Y$="Y" THEN GO TO 3050
3049 GO TO j6
3110 PRINT AT 8,z;z;TAB 3;D$(x,z,z TO 2);"/";D$(x,
z,3 TO 4); TAB 16; "Balance For.";
3120 IF VAL D$(x,z,13 TO 20)<0 THEN GO SUB jl: PR
INT AT 8,27;S$;TAB 55;S$: LET amt=0: LET bal=s: LE
T crt=ABS s: LET int=0: LET in=int: GO TO 3200
3130 LET S=VAL D$(x,z,5 TO 10): LET k=7: GO SUB j3
: PRINT AT 8,38;s$: LET int-s: LET in=int
3134 GO SUB jl: PRINT AT 8,45;s$;TAB 55;s$: LET am
t=s: LET bal=s: LET crt=0
3202 FOR z=2 TO 24
3205 IF z»16 THEN INPUT "scroll?" ;Y$: PRINT AT o,
o;: FOR h=l TO 10: RANDOMIZE USR 2361: NEXT h: FOR
h=l TO 7: PRINT *
": NEXT h: GO SUB
jO: PRINT AT ln-9,o;
3210 IF D$(x,Z,l)=" " THEN GO TO 3300
3215 LET des=VAL D$(x,z,ll TO 12)
3220 PRINT TAB l-(z>9);z;TAB 3;0$(x,z,l TO 2);"/";
D$(x,z,3 TO 4);TAB 9;D$(x,z,5 TO 10);TAB 16;I$(des
); : LET ln=24-PEEK 23689
3225 IF des<8 THEN GO SUB jl: PRINT TAB 45;s$;: L
ET amt=amt+s: LET bal=bal+s: LET s=bal: GO SUB j2:
PRINT TAB 55;s$: NEXT z: GO TO 3400
3230 IF desUO THEN LET am=VAL D$(x,z,13 TO 20):
GO SUB jl: PRINT AT ln,27;s$;: LET s=in: LET k=7:
GO SUB j3: PRINT TAB 38;s$;: LET s=(am-s )*(am-s>=0
)■' LET in=(in-am)*(in-am)=0): GO SUB j2: PRINT AT
ln,45;s$;: LET s=bal-s: GO SUB j3: PRINT TAB 55;s$
;: LET bal=s: LET crt=crt+am: NEXT z: GO TO 3400
3250 GO SUB jl: PRINT TAB 36;s$;: LET in=in+s: LET
int=int+s: LET s=bal: GO SUB j2: PRINT TAB 55;s$;
: NEXT z: GO TO 3400
3300 IF z$="2" THEN GO TO 3400
3301 INPUT "Enter Slip No.";D$(X,Z,5 TO 10): IF D$
(X,Z,5 TO 10)=" " THEN GO TO 3400
3308 LET D$(X,Z,1 TO 4 )=B$
3310 ON ERR GO TO 3310: INPUT " Enter Sale Code"
"(press ""0"" for Help)";D
3312 FOR y=l TO 10 STEP 2
3313 IF (D<=10)*(D>0)=1 THEN LET D$(X,Z,11 TO 12)
=STR$ D: ON ERR RESET : GO TO 3320
3316 INPUT ;(y);".";(I$(y)),(y+l);".";(I$(y+l));D
3317 NEXT y: GO TO 3310
3320 INPUT "Enter $ Amount" ;Y$: LET D$(X,Z,13 TO 2
0)=Y$
3330 IF (LEN Y$>1)*(LEN Y$<9)=0 THEN GO TO 3320
3335 FOR y=l TO LEN Y$
3340 IF (CODE Y$(y)<58)*(C0DE Y$(y))44)=0 THEN GO
TO 3320
3345 NEXT y: GO TO 3215
3410 PRINT 'TAB 18; "Totals" ; : LET ln=24-PEEK 23689
3415 LET s=crt: GO SUB j3: PRINT TAB 27;s$;
3420 LET s=int: GO SUB j3: PRINT AT ln,36;s$;
3425 LET s=amt: GO SUB j3: PRINT AT ln,45;s$;
3430 LET s=crt-int: LET s=amt-s: GO SUB j3: PRINT
TAB 55;s$;
3440 LET D$(x,l,ll)="l": IF bal<=0 THEN LET D$(x,
1,11 )="0"
3450 IF z>24 THEN FLASH 1: PRINT "FULL PAGE, PLEA
SE COPY TO PAPER AND CLEAR WORK SHEET": FLASH
0: PAUSE o: GO TO j5
3500 IF z$="2" THEN GO TO 2500
3950 PAUSE o: GO TO 3000
4004 GO TO 4500
4005 LET Z=l
4010 GO SUB j4
4015 IF 1$=*2" THEN : IF (D$(x,l,ll)="0")+(a$(x,5,
14)='5')>0 THEN RETURN
4016 IF A$(x,l,l TO 4)=" " THEN RETURN
4020 LPRINT ' »
4021 LPRINT h$(l)
4022 LPRINT h$(2)
4023 LPRINT h$(3)
4024 LPRINT h$(4)
4025 LPRINT
4030 LET ch=93: LPRINT """TAB 10;X$'TAB 10;A$(X
,1)'TAB 10;A$(X,2)'TAB 10;A$(X,3)'TAB 10;A$(X,4,1
TO 14);", ";A$(X,5,1 TO 2);V;A$(X,5,3 TO 7)""
4035 LPRINT "Sheet:";A$(x,5,12 TO 13 ) , aLSnt : " ; A$( X
,5,8 TO 9);"/";A$(X,5,10 TO ll),"Date:";B$(l TO 2)
;"/";B$(3 TO 4);7";B$(5 TO 6),*Terms:";T$(VAL A$(
X,5,14))
4040 FOR y=0 TO 66: LPRINT "_";: NEXT y: LPRINT
4045 LPRINT CHR$ 91; "No.* Date* Slip *Description
*Credit *Interest* Amount * Balance ";CHR$ ch
4050 REM
4102 IF A$(x,5,15 TO 21)=" ' THEN LET A$(x,
5,15)="0"
4104 LET lbl=VAL A$(x,5,15 TO 21)
4105 LET Z=l: LPRINT CHR$ 91;" 1";
4110 LPRINT TAB 5;D$(x,z,z TO 2);"/";D$(x,z,3 TO 4
);TAB 18; "Balance For.";
4120 IF VAL D$(x,z,13 TO 20)<0 THEN GO SUB jl: LP
RINT TAB 29;$$; TAB 57;S$;CHR$ 93: LET amt=0: LET b
al=s: LET crt=ABS s: LET int=0: LET in=int: GO TO
4200
4130 LET s=VAL D$(x,z,5 TO 10): LET k=7: GO SUB j3
: LPRINT TAB 40;s$;: LET int=s: LET in=int
4134 LET k=9: GO SUB jl: LPRINT TAB 47;s$;TAB 57 ;s
$;CHR$ 93: LET amt=s: LET bal=s: LET crt=0
4202 FOR z=2 TO 24
4204 LET f$=STR$ (VAL b$(l TO 2)+(VAL d$(x,z-l,l T
0 2)>VAL b$(l TO 2))*12)
4206 IF VAL f$-VAL d$(x,z-l,l TO 2)>=VAL a$(x,5,14
) THEN LET lbl=bal: LET a$(x,5,15 TO 21)=STR$ Ibl
4210 IF D$( x ,Z,1 )=" * THEN GO TO 4400
4215 LET des=VAL D$(x,z,ll TO 12)
4220 LPRINT CHR$ 91;TAB 2-( z>9 );z;TAB 5;D$(x,z,l T
0 2);V;D$(x,Z,3 TO 4);TAB ll;D$(x,z,5 TO 10);TAB
18;l$(des);
!,3
4225 IF des<8 THEN SO SUB jl: LPRINT TAB 47;s$;: LE
T amt=arat+s: LET bal=bal+s: LET s=bal: GO SUB j2: LP
RINT TAB 57;s$;CHR$ ch: GO SUB 4960: NEXT z: GO TO 4
400
4230 IF des<10 THEN LET am=VAL D$(x,z,13 TO 20): GO
SUB jl: LPRINT TAB 29;s$;: LET s=in: LET k=7: GO SU
B j3: LPRINT TAB 40;s$;: LET s=(am-s)*(am-s>=0): LET
in=(in-am)*(in-am>=0): GO SUB j2: LPRINT TAB 47;s$;
: LET s=bal-s: GO SUB j3: LPRINT TAB 57;s$;CHR$ ch:
LET bal=s: LET crt=crt+am: GO SUB 4950: NEXT z: GO T
0 4400
4250 GO SUB jl: LPRINT TAB 38;s$;: LET in=in+s: LET
int=int+s: LET s=bal: GO SUB j2: LPRINT TAB 57;s$;CH
R$ ch: GO SUB 4960: NEXT z
4410 LPRINT 'TAB 20; "Totals';
4415 LET s=crt: GO SUB j3: LPRINT TAB 29;s$;
4420 LET s=int: GO SUB j3: LPRINT TAB 38;s$;
4425 LET s=amt: GO SUB j3: LPRINT TAB 47;s$;
4430 LET s=crt-int: LET s=amt-s: GO SUB j3: LPRINT T
AB 57;s$
4432 IF lbl<0 THEN LET lbl=0
4433 LET s=lbl: GO SUB j3: LPRINT 'OVER DUE Balance
of ';s$
4434 RANDOMIZE USR 100: POKE 16090,63: LPRINT »V$":
RANDOMIZE USR 100: POKE 16090,79
4436 IF VAL 1$<3 THEN LET A$(x,5,8 TO 11)=B$
4438 FOR m=(z+31) TO 64: LPRINT : NEXT n
4460 RETURN
4500 REM
4501 POKE cap.o: CLS : FLASH 1: PRINT AT 0,9; "LPRINT
FILE*: FLASH o
4505 LET lbl*0
4510 PRINT AT 3 ,o; 'OPTIONS: ""1. Print (1) stateien
t '"2. Print Block of statements '"3. Print (1) F
ile Copy ""4. COPY and CLEAR Page*
4520 INPUT 'Enter Option' ;1$: IF LEN ISOI THEN GO
TO j5
4525 IF (CODE 1$>48)*(C0DE 1$<53)<>1 THEN GO TO 452
0
4530 PRINT '"Option Selected No.";l$
4540 IF 1$*V THEN GO SUB 4005: GO TO 4500
4545 IF l$-'2" THEN GO TO 4600
4550 IF 1$='3' THEN LPRINT """': GO SUB j4: GO S
UB 4030: GO TO 4500
4555 IF 1$='4' THEN LPRINT ' : GO SUB j4: GO SU
8 4030: PRINT "New Paper Please': PAUSE o: GO SUB 4
018: FOR z=l TO 24: LET D$(x,z)=": NEXT z: LET 0$(x
,1,1 TO 4)=B$(1 TO- 4): LET D$(x,l,5 TO 10)=STR$ in:
LET D$(x,l,13 TO 20)=STR$ bal: LET A$(x,5,12 TO 13)=
STR$ (VAL A$(x,5,12 TO 13)+1)
4556 LET a$(x,5,15 TO 21)=STR$ lbl
4558 LPRINT
4560 GO TO 4500
4610 INPUT 'Starting Acct. No.';X$: IF LEN X$<>7 THE
N GO TO j6
4620 GO SUB 420
4625 FOR x=l TO 20: LET x$(6 TO 7)="0"+STR$ x: IF x>
9 THEN LET x$(6 TO 7)=STR$ x
4630 GO SUB 4015: LET A$(x,5,15 TO 2l)=STR$ lbl: NEX
T x: PRINT 'Block No.";x$(l TO 5);' Complete": PAUSE
o: GO TO 4500
4950 LET lbl=lbl-ara
4960 LET lb=2-(a$(x,5,14)="l'): LET lb=VAL B$(l TO 2
)-lb: IF lb>=VAL D$(x,z,l TO 2) THEN LET lbl*bal: L
ET A$(x,5,15 TO 21)=STM lbl
4961 RETURN
5000 GO TO 5500
5016 LET int=0: LET bal=0: LET lbl=0: LET z=l
5019 IF (l$='l")*(n$='n")*(d$(x,l,ll)='0")=l THEN R
ETURN
5020 IF A$(x,l,l TO 4)=' " THEN RETURN
5030 LET lbl=VAL A$(x,5,15 TO 21)
5120 IF VAL D$(x,z,13 TO 20)<0 THEN LET s=VAL D$(x,
z, 13 TO 20): LET amt=0: LET bal=s: LET crt=s: LET in
t=0: LET in=int: GO TO 5200
5130 LET s=VAL D$(x,z,5 TO 10): LET int=s: LET in=in
t
5134 LET s=VAL D$(x,z,13 TO 20): LET amt=s: LET bal=
s: LET crt=0
5202 FOR z=2 TO 24
5204 LET f$=STR$ (VAL b$(l TO 2)+(VAL d$(x,z-l,l TO
2)>VAL b$(l TO 2))*12)
5206 IF VAL f$-VAL d$(x,z-l,l TO 2)>=VAL a$(x,5,14)
THEN LET lbl=bal : LET a$(x,5,15 TO 21)=STR$ lbl
5210 IF D$(x,z,l)=" ' THEN GO TO 5400
5215 LET des=VAL D$(x,z,U TO 12)
5225 IF des(8 THEN LET s=VAL D$(x,z,13 TO 20): LET
ant=amt+s: LET bal=bal+s: LET s=bal: GO SUB 5960: NE
XT z: GO TO 5400
5230 IF des<10 THEN LET ara=VAL D$(x,z,13 TO 20): LE
T s=in: LET s=(am-s)*(am-s>=0): LET in=(in-ara)*(in-a
a>=0): LET s=bal-s: LET bal=s: LET crt=crt+am: GO SU
8 5950: NEXT z: GO TO 5400
5250 GO SUB jl: LET int=int+s: GO SUB 5960: NEXT z
5405 IF 1$="2" THEN GO TO 5735
5410 LPRINT x$;' ";a$(x,l);
5415 LET s=crt: GO SUB j3: LPRINT TAB 30;s$;
5420 LET s=int: GO SUB j3: LPRINT TAB 40;s$;
5425 LET s=amt: GO SUB j3: LPRINT TAB 50;s$;
5430 LET s=crt-int: LET s=amt-s: GO SUB j3: LPRINT T
AB 60;s$;
5432 IF lbKO THEN LET lbl=0
5433 LET s-lbl: GO SUB j3: LPRINT TAB 70;s$
5460 RETURN
5501 LET K=9: POKE cap,o: CLS : FLASH 1: PRINT AT o,
12; 'REPORTS': FLASH o
5510 PRINT AT 3, o; 'OPTIONS: " "1. LPRINT Summery""
2.';'Interest Calc?"
5520 INPUT 'Enter Option" ;1$: IF LEN 1$ 01 THEN GO
TO j5
5525 IF (CODE 1$>48)*(C0DE 1$<53)<>1 THEN GO TO 552
0
5530 PRINT ""Option Selected No.';l$
5540 IF 1$*T THEN INPUT "Print $.00 Balance Accts
.(Y/N)';n$: GO TO 5600
5550 IF 1$='2' THEN GO TO 5700
5601 LET Tint=0: LET Tbal=0: LET Tlbl=0
5605 LPRINT 'Summery of Accounts" , "Date: ";g$": LPRI
NT TAB 2;'No.';TAB 17;'NAME';
5606 IF 1$='2' THEN LPRINT TAB 34; "Line",: GO TO 56
08
5607 LPRINT TAB 33; 'CREDIT';
5608 LPRINT TAB 41; "INTEREST"; TAB 53; "AMOUNT"; TAB 62
; "BALANCE"; TAB 71; "OVER DUE": FOR y=0 TO 79: LPRINT
'-';: NEXT y: LPRINT
5610 INPUT "Starting Acct. No.";X$: IF LEN X$<)7 THE
N GO TO j6
5615 GO SUB 420: PRINT "Summery of Accounts: "x$;"
TO ";
2,4
5620 INPUT "Ending Acct. No.";P$: IF LEN P$<)7 THE
N GO TO j6
5621 PRINT P$: FOR p=VAL X$(4 TO 5) TO VAL P$(4 TO
5): LET x$(4 TO 5)="0"+STR$ p: IF p>9 THEN LET X
$(4 TO 5)=STR$ p
5623 60 SUB 420
5625 FOR x=l TO 20: LET x$(6 TO 7)="0"+STR$ x: IF
x>9 THEN LET x$(6 TO 7)=STR$ x
5630 GO SUB 5015
5635 LET Tint=Tint+int: LET Tbal=Tbal+bal: LET Tib
l=Tlbl+lbl
5640 IF INKEY$=" STOP " THEN GO TO 5690
5650 NEXT x= NEXT p
5660 LPRINT 'TAB 17; 'TOTALS";
5670 IF 1$="2" THEN GO TO 5800
5692 LET s=Tint: GO SUB j3: LPRINT TAB 40;s$;
5694 LET s=Tbal: GO SUB j3: LPRINT TAB 60;s$;
5695 LET s=Tlbl: GO SUB j3 = LPRINT TAB 70;s$;
5696 LPRINT
5699 GO TO 5500
5705 LET n$="n": LET TMI=0: INPUT "Enter Annual In
terest Rate";y$: LET irt=( VAL y$/12)*.01
5720 GO TO 5600
5735 IF lbl<=0 THEN LET lbl=0: LET int=0: LET bal
=0: RETURN
5736 IF A$(x,5,14)="5" THEN LET lbl=0: LET int=0:
LET bal=0: RETURN
5740 LPRINT x$;* ";a$(x,l );TAB 35;z;
5745 LET s=int: GO SUB j3: LPRINT TAB 40;s$;
5750 LET s=INT (lbl*irt): GO SUB j3: LPRINT TAB 50
;s$;: LET TMI=TMI+INT (lbl*irt)
5755 LET s=crt-int: LET s=amt-s: GO SUB j3: LPRINT
TAB 60;s$;
5760 LET s«lbl: GO SUB j3: LPRINT TAB 70;s$
5770 LET d$(x,z,l TO 4)=b$: LET d$(x,z,U TO 12)="
10": LET d$(x,z,13 TO 20)=STR$ INT (lbl*irt)
5780 RETURN
5800 LET S=TMI: GO SUB j3: LPRINT TAB 50;s$
5810 LPRINT "INTEREST RATE = ";irt;" per Nth."
5899 GO TO 5500
5950 LET lbl=lbl-ara
5960 LET lb=2-(a$(x,5,14)='l"): LET lb=VAL B$(l TO
2)-lb: IF lb>=VAL D$(x,z,l TO 2) THEN LET lbl=ba
1: LET A$(x,5,15 TO )=STR$ lbl
5961 RETURN
6000 CLS : FLASH 1: PRINT AT o, 8; "STATEMENT HEADER
"": FLASH o
6005 PRINT ""1. Enter HEADER" "2. Enter CLOSING"
'""OPTION ?": PAUSE o
6010 IF INKEY$="2" THEN GO TO 6500
6011 IF INKEY$="1* THEN GO TO 6050
6012 IF INKEY$="" THEN GO TO j5
6013 GO TO 6010
6050 PRINT "Enter Statement Header"": INPUT VLOA
D From Tape? (y/n)";y$: IF y$=*y" THEN LOAD 'head
er" DATA h$( )
6065 FOR z=l TO 4: INPUT "Header Line ";STR$ z;h$(
z): PRINT h$(z): NEXT z
6085 POKE cap,o: INPUT " SAVE TO Tape? (y/n)";y$:
IF y$="y" THEN SAVE "header" DATA h$( )
6099 PAUSE o: GO TO j5
6510 PRINT "Enter new Statment closing lines"
6520 INPUT V$
6530 PRINT "NEW Statement Closing": RANDOMIZE US
R 64300: PRINT CHR$ 3: PRINT V$: PRINT CHR$ 2
6540 PAUSE o: GO TO j5
7002 CLS : PRINT "Edit File Menu: ";TAB 5;"1. Chan
ge Name/Address"; TAB 5; "2. Change Line Entry"
7004 IF INKEY$="1" THEN GO TO 7500
7006 IF INKEY$="2" THEN GO TO 7010
7008 GO TO 7004
7010 CLS : PRINT AT o,26;" Edit File "
7020 GO SUB j4
7030 GO SUB jO
7045 POKE cap, 8: INPUT "Correcrt File Y/N";Y$
7048 IF Y$="Y" THEN GO TO 7050
7049 GO TO j6
7050 ON ERR GO TO j6: INPUT "enter Line No. to be
changed ";z: ON ERR RESET : IF z>24 THEN GO TO
J6
7055 IF z<2 THEN GO TO 502
7100 LET edit=0
7205 PRINT ""Current Line No/;
7210 IF D$(x,z,l)=" " THEN GO TO j6
7215 LET des=VAL D$(x,z,ll TO 12)
7220 PRINT TAB l-(z>9);z;TA8 3;D$(x,z,l TO 2);"/";
D$(x,z,3 TO 4);TAB 9;D$(x,z,5 TO 10);TAB 16;I$(des
);: LET ln=24-PEEK 23689
7225 IF des(8 THEN GO SUB jl: PRINT TAB 45;s$;: G
0 TO 7260
7230 IF des<10 THEN LET am=VAL D$(x,z,13 TO 20):
GO SUB jl: PRINT AT ln,27;s$;: GO TO 7260
7250 LET k=7: GO SUB jl: PRINT TAB 36;s$;
7260 IF edit=l THEN GO TO 7400
7265 LET edit=l
7275 PRINT ""Enter New Line No.";
7301 INPUT "Enter Date of slip ";e$: IF e$<>"" THE
N : LET D$(x,z,l TO 4)=e$
7305 INPUT "Enter Slip No.";e$: IF e$<)"" THEN : L
ET D$(X,Z,5 TO 10)=e$
7310 INPUT ■ Enter Sale Code" "(press "0"" for He
lp)";e$: IF e$="" THEN GO TO 7320
7311 ON ERR GO TO 7310: LET D=VAL e$: ON ERR RES
ET
7312 FOR y=l TO 10 STEP 2
7313 IF (D<=10)*(D>0)=1 THEN LET D$(X,Z,11 TO 12)
=STR$ D: ON ERR RESET : GO TO 7320
7316 INPUT ;(y);".";(l$(y)),(y+l);".";(l$(y+i));D
7317 NEXT y: GO TO 7310
7320 INPUT "Enter $ Amount" ;Y$: IF Y$="" THEN GO
TO 7215
7325 LET D$(x,z,13 TO 20)=Y$
7330 IF (LEN Y$>1)*(LEN Y$<9)=0 THEN GO TO 7320
7335 FOR y=l TO LEN Y$
7340 IF (CODE Y$(y)<58)*(C0DE Y$(y)>44)=0 THEN GO
TO 7320
7345 NEXT y: GO TO 7215
7400 PAUSE o: GO TO j5
7510 CLS : PRINT AT o,10;' Edit Name "
7520 GO SUB j4
7530 GO SUB jO
7540 POKE cap ,8: INPUT "Correct File Y/N ";Y$
7550 IF Y$<)"Y" THEN GO TO j6
7560 LET X=VAL X$(6 TO 7)
7625 INPUT "ACCT. NAME ";e$: IF e$<) "" THEN LET A
$(X,l)=e$
7626 PRINT A$(X,1)
7630 INPUT "St. ADDRESS ";e$: IF e$<>"" THEN LET A
$(X,2)=e$
7631 PRINT A$(X,2)
7632 INPUT 'RR or BOX";e$: IF e$<> "* THEN LET A$(
X,3)=e$
7632 INPUT "RR or B0X';e$: IF ef<>" THEN LET A$(X,
3)=e$
7633 PRINT A$(X,3)
7635 INPUT 'CITY";e$: IF e$<>"" THEN LET A$(X,4)=e$
7636 PRINT A$(X,4)
7640 INPUT 'STATE, & ZIP';e$: IF e$<>"" THEN LET A$
(X,5,l TO 8)=e$
7641 PRINT A$(X,5,1 TO 8)
7650 POKE cap,8: INPUT 'IS THIS CORRECT Y/N ?';Y$: I
F Y$='N" THEN CLS : PRINT 'ACCT NO. ';X: POKE cap.o
: GO TO 7610
7660 INPUT 'Change TERMS Y/N ? ';y$: IF y$0'Y' THEN
60 TO 7800
7710 aS : PRINT "TERMS MENU:': PRINT AT 2,5;' 1. ";T
$(1)*TAB 5;'2. ";T$(2)'TAB 5;'3. ';T$(3)*TAB 5;'4. '
;T$(4)'TAB 5; '5. ";T$(5)
7720 INPUT A$(X,5,14): IF COOE A$(X,5,14)>48 AND COD
E A$(X,5,14)<54 THEN GO TO 7730
7725 BEEP .1,1: BEEP 1..1: GO TO 7710
7810 GO TO j5
8000 REM close The
8010 GO SUB 450
8050 CLEAR : RESTORE : RESET : GO TO 9500
9000 REM save data
9005 GO SUB 450
9010 CLS : FLASH 1: PRINT AT 0,10;' SAVE DATA ': FLA
SH 0
9015 PRINT '"Please have formated DISK Ready'
9020 PRINT "Place SOURCE disk in DRIVE 2'" DES
TINATION disk in DRIVE 1'" "Press ENTER when READY'
: PAUSE 0
9100 FOR Z=l TO 48
9110 LET c$*'0100'+STR$ z: IF z>9 THEN LET c$*"010"
+STR$ z
9120 RANDOMIZE USR 100: GO TO 1
9125 RANDOMIZE USR 100: LOAD c$+'a.A$' DATA a$( )
9126 RANDOMIZE USR 100: LOAD c$+"d.A$" DATA d$( )
9130 RANDOMIZE USR 100: GO TO 0
9135 RANDOMIZE USR 100: SAVE c$+'a.A$' DATA a$( )
9136 RANDOMIZE USR 100: SAVE c$+'d.A$" DATA d$( )
9140 NEXT z
9150 GO TO j5
9500 REM
9501 DIM I$(10,ll): FOR Z=l TO 10: READ a$: LET I$(Z
>a$: NEXT Z
9502 DATA 'Merchandise' , 'Plumb/Heat' , 'Photo Fin. ' , 'A
ppliance" , 'Furniture' , "Labor ' , 'ServiceCall ' , 'Credit"
,'Rec.on Acct", "Interest*
9503 DATA 'NET 30', 'NET 60', 'NET 90", 'NET 120' , 'NONE
9504 DIM T$(5,8): FOR Z*l TO 5: READ a$: LET T$(Z)=a
$: NEXT z
9515 LET x=20: LET CAP=23658: LET j0=300: LET jl=350
: LET j2=354: LET j3=355: LET j4=400: LET j5»500: LE
T j6*502: LET o=0
9520 DIM A$(X,5,21): DIM 0$(X,24,20)
9525 DIM h$(4,80)
9530 INPUT 'TODAYS DATE ? M/0/Y';8$
9535 IF LEN b$<>6 THEN GO TO 9530
9540 LET g$=b$(l TO 2)+7"*b$(3 TO 4)+7"*b$(5 TO 6)
9550 LET C$= "01001"
9552 DIM V$(192)
9555 LET E$=' '
9558 REM
9560 RANDOMIZE USR 100: LOAD "01001a.A$" DATA a$( )
9565 RANDOMIZE USR 100: LOAD "OlOOld.AS" DATA d$( )
9575 GO TO j5
9599 STOP
9600 PRINT ' STOP this will erase all files": PAUSE
0
9610 DIM A$(20,5,21): DIM D$(20,24,20)
9620 FOR x=l TO 48
9625 LET x$='0100'+STR$ x
9628 IF x>9 THEN LET x$="010'+STR$ x
9630 RANDOMIZE USR 100: SAVE x$+'a.A$" DATA a$( )
9635 RANDOMIZE USR 100: SAVE x$+"d.A$" DATA d$( )
9640 NEXT x
9650 STOP
LKDOS Auto Load Program
To Auto SAVE, type: GO TO 60., Then touch "d".
5 CLEAR VAL "63222"
10 REM LKdos AR loader
20 PAPER NOT PI: BORDER NOT PI: INK VAL "7": CLS
22 LET ml=VAL '100': PRINT AT VAL "9", NOT PI ; 'Does
Printer need Line Feed? <1> Yes <2> No": PAUSE N
OT Pi: LET z*NOT (CODE INKEY$-VAL "49"): RANDOMIZE U
SR ml: OPEN #VAL "3","lp": RANDOMIZE USR ml: POKE VA
L '16096', NOT PI: RANDOMIZE USR ml: POKE VAL '16092'
,(z*VAL '10'): CLS : INPUT "Enter Printer's Max Line
length ';z: RANDOMIZE USR ml: POKE 16090, z: INPUT '
Enter Left Margin" ;z: RANDOMIZE USR ml: POKE VAL "16
094',(z-VAL '1" AND z>NOT PI M VAL '0' AND z(NOT NOT
PI): PRINT AT VAL '8', NOT PI; 'Turn Printer ON, ENTE
R': PAUSE NOT PI: CLS : LPRINT
30 RANDOMIZE USR ml: LOAD 'taswid.Cl'CODE
40 RANDOMIZE USR VAL '64300'
50 RANDOMIZE USR ml: LOAD 'AR1-9.B1'
60 LET Z=VAL "65367"- FREE +VAL "300": POKE VAL "2
3731\z/VAL '256': POKE VAL ' 23730 ",z-( INT z/VAL '25
6")*VAL "256": RANDOMIZE USR VAL "102": GO TO 5
NOTES:
1 . Whan, the. matin pxjognam Z6 keyed in,
SAVE AJt (tilth a. title. o4 "AR1-9.81:
2. T%U> 4o4twaA&. Jt&Qul*&6 a. 64 caiwm
diAptay 44JU,. You, wJtt need zith&i the,
ZebxiL OS-64 coAtxAdge, ox. the, TASUZ code.
<L6 AuppLLed In the, TASUJI coquette.
Either o4 theAA. ujoxh, ufith zWxeA. SPVOS on,
LKDOS, bat to UL6e. the, OS-64 utith LKDOS
the. modification, given, in the, LKDOS
rmnual (to Mach an EPRQM) i* nexqjLlxed.
***t*t**4M***m«****t***«*****«*t**********4
* OTHER OSES POR THE T/S 2168 LARREN RAHDISR *
*t*titi*i*ittttt*ttt*tt*i*tttti*t*ttttittttttt
LARRY CRAHPORD 357 REYNOLDS RD
LONDON ONT CANADA N6K 2P8
BACKGROUND
The LARREN RAMDISK banks are all napped into the
DOCK bank of the 2168 even though the board is
plugged into the back expansion slot.
Consequently, it is possible to load any of the
RAMDISK banks with data for a database or
spreadsheet. This means that up to 256K more
information can be handled and increases the
usefulness of the "old workhorse" dramatically.
It is also possible to load a DOCK bank with code
which simulates a BASIC cartridge (AROS) and to
run that code as a BASIC or m/c program. This is
what cartridges do.
LARREN BANK SWITCHING
Pirst of all, the 2068's RAM is organised into 8
chunks of 8K each. Normally, with Display Pile 1
in use, the bottom two contain ROM and the next
one the system variables and ROM routines which
are moved to RAH on power-up. These 3 chunks
should not be disturbed.
The LARREN RAMDISR board uses the top 4 chunks (4
to 7) to make up a bank. A bank is made active by
switching off the HOME RAH chunks 4 to 7 and
turning on one of the RAMDISK banks. The active
bank is actually treated as a DOCK bank. Thus the
RAHDISR board holds up to 8 DOCK banks which can
be selected from the keyboard.
HOW?
Which chunks are active in HOME and which active
in DOCK is controlled by the Horizontal Select
Register (HSR) located in PORT 244 (P4 hex). The
individual bits which make up the byte in the port
determine in which bank the corresponding chunk
will be active. A xero bit means. the chunk is in
HOHE. Since we want to use the top 4 chunks in
DOCK, we will load the HSR with llUMff binary
(244 decimal). Thus <OUT 244,240> activates the
DOCK bank.
WHICH DOCK BANK?
LARKEN uses PORT 7 to select the one- to be
activated. The second page of the LARKEN RAMDISK
notes gives the code numbers corresponding to the
banks: Bank ABCDEPGH
Code 7 3 5 16 2 4 1
Thus <OUT 7,7> will select bank A. Purther, LARREN
uses bit 6 of PORT 7 to control the WRITE- PROTECT
circuitry of the RAHDISK board. A xero in bit 6
puts the bank in the READ-only mode. To be able to
load data into the bank, we must add 1100090
binary (64 decimal) to the bank code number.
Therefore, <OUT 244,240: OUT 7,71> will permit us
to put data into DOCK bank A.
WHAT CAN BE PUT INTO IT?
Strictly code. I use two of the banks to hold
records for a database program. It switches the
banks in or out as needed to add records or to
sort them.
The code, however, can be in the form of an AROS
cartridge and therefore be used to hold a BASIC
program.
HOW TO SAVE THE RAMDISK BANK
Any data read into the bank would destroy the
existing data. To preserve the RAMDISK, enter the
following: OUT 244,240: OUT 7,7 :RANDOHIZE USR
100: SAVE "RAHDSK.C1" CODE 32768,32768. The
contents of bank A will now be safely on floppy
and we can mess around with the bank as much as we
want. The DOCK bank, however, is still active and
needs to be turned off.
HOW TO GET BACK TO NORMAL
The commands <0UT 244,0: OUT 7,0> will do the job.
With a lero in the HSR via PORT 244, all bits are
zeros and all chunks of RAM will be active in
HOHE. The xero to PORT 7 will turn, return to bank
H which has a code of zero. This is the normal
condition for RAMDISK.
BANK H - A SPECIAL CASE
When the computer is turned on or NEWed, it checks
the DOCK to see if an AROS is present. If one is,
it is automatically activated. A simulated AROS
loaded into this bank will run if the <NEW> key is
pressed. If the power supply is turned off, the
code in the bank will be lost even if the battery
backup is connected. If you want a permanent AROS
in bank zero, install an EPROM containing the
utility in the H bank socket. I have HOT-Z in the
bank and a switch in the line running from pin 1
of the 74145 to pin 20 of the H RAH chip. Without
the switch, HOT-Z would run every time the
computer was booted.
HOW TO RESTORE THE RAMDISK BANK
<OUT 244,240: OUT 7,71: LOAD "RAHDSK.Cl"CODE> will
put the RAHDISK bank A back in the RAH chip. Don't
forget to <OUT 244, 0>
SIMULATING AN AROS CARTRIDGE
An AROS cartridge must have 8 "overhead" bytes
starting at 32768 (8009 hex) to give the computer
the information it needs to run the BASIC program.
See page 119 of the Tech Manual.
For our demo we will POKE into bank A the
following bytes: 1,2,8,128,15, 1,1,0.
The first 1 indicates that this is a BASIC
"cartridge".
The 2 signals AROS as opposed to LROS, a Language
cartridge.
The 8 and 128 form the beginning address of the
BASIC program (low byte first). In this case the
BASIC will be at 84256*128=32776 or 8008 hex.
The 15 (00001111 bin) means that chunks 4 to 7
will be active in the DOCK bank. This is exactly
opposite to the format for the HSR.
The second 1 denotes an Autostart for the program.
The two teros reserve no bytes for m/c variables.
The BASIC program will be loaded as code starting
at 32776.
CREATING AN AROS
1. Save RAMD1SK bank A as described earlier and
then key in OUT 244,0
2. Key in 10 CLS: PRINT "OK": STOP
20 OUT 244,240: OUT 7,71
30 RESTORE: FOR X= 62768 TO 32775:
READ T: PORE X,Y: NEXT X
40 DATA 1,2,8,128,15,1,0,0
50 OUT 244,0
3. 8 AVE as "test.Bl"
4. SAVE as "test.Cl"CODE PEEK 23635+256*23636,1000
The peeks simply find the address of the start
of the BASIC program. It is moved up 50 bytes
if the large printer is active. The 1000 is an
arbitrary number large enough to be sure that
all of the program is saved.
5. Now <GOTO 20>. This will put the "overhead
bytes" for the AROS in place.
6. Key in OUT 244,240: LOAD "test.Cl"CODE: OUT 244
,0. This will put the BASIC program into the
"cartridge".
7. Press <NEH> key. This activates the AROS and
Line 10 of the program should run.
8. If you saved a RAHD1SK bank earlier, load it
back in.
RUNNING AN AROS (BASIC IN DOCK)
If DOCK bank n contains an AROS, then <OUT 7, be:
NEH> will RUN it (be is the LARKEN code for bank
n). It's that simple.
STORING AN AROS
If the bank is in Drive 4, then keep the AROS on
floppy and load it in when you need it.
RUNNING AROS FROH DOCK AND BASIC IN HOME
Programs can exist in both banks and either one
can be RUN. Which one is active depends on the
contents of the aros flag at 23750. A mo at this
address will allow the HOME bank program to be
run. A 128 there activates the DOCK program.
A program in DOCK cannot be listed nor can it be
edited. So if you attempt to enter a line and
can't, you know that you are in DOCK and must
return to HOME.
Steps to run both:
1. Boot the DOCK program with <OUT 7, be: NEH>.
This MUST be done first to let the computer
know that an AROS is present.
2. Key in POKE 23750,0 to activate HOME bank.
3. Load in the BASIC program.
4. POKE 23750 with 0 or 128 depending on the bank
wanted and then RUN or GOTO the appropriate
line number.
SUMMING UP
The ability to use the RAMDISK banks for other
purposes expands the usefulness of the 2068
dramatically. Data that could not be handled by
the unexpanded machine can now be dealt with
easily.
Huge BASIC programs can be broken down into
segments, stored in DOCK banks, and called into
action as needed by a short controlling program.
This would leave most of HOME RAM free for the
storage of data.
Expansion of the 2068 makes economic sense too,
removing some of the pressure to move on to a
bigger machine that can't be tinkered with.
What we need now is a mess of programs that
exploit this potential.
For starters, George Chambers has two of mine. One
is a database and the other a HOME/ DOCK program
handler. Ask him for them.
Explore and enjoy! Larry C
If the code is to be left in a DOCK bank and
maintained with the battery backup, it should not
be in a bank that was formatted as a RAMDISK bank.
2.8
A T/S 2868 UTILITY TO PUT BASIC PROGRAMS INTO THE
LARKEIf RAMDISK BANKS
DONATED TO THE PUBLIC DOMAIN BY LARRY CRAWFORD
357 REYNOLDS RD LONDON ONT CANADA N6K 2P8
(519) 657-9119 27 JAN 90
**************************************************
BACKGROUND
The LARKEN RAMDISK banks are all mapped into the
DOCK bank of the 2068 even though the board is
plugged into the back expansion slot.
Consequently, it is possible to load any of- the
RAMDISK banks with code which simulates a BASIC
cartridge {an AROS) and to run that code as a
BASIC program. This suite of programs will allow
you to create your own simulated cartridges in the
RAMDISK memory chips. A program running from DOCK
leaves the HOME bank free to hold another program
and/or data. Refer to Bill Jones' EXTRA MEMORY
PROGRAMMING article in Update Magazine for some of
the implications of working in DOCK bank.
See tlc(t,ASrxc£s
FEATURES (?a}c 33
1. Allows a choice of any of the 8 RAMDISK banks.
2. SAVEs the chosen RAMDISK bank to floppy
automatically.
3. Hill RUN a program in DOCK or HOME bank.
4. Allows a BASIC program to be MERGED into HOME
bank or a new program to be keyed in.
5. Hill move a program from HOME bank into DOCK.
6. SAVEs the program in HOME as a BASIC program
and the one in DOCK as cartridge code.
7. Reloads the- saved RAMDISK bank after these
SAVEs have been completed thus restoring the
computer to its original condition.
8. Uses no variables internally except for the
string variable Z$ so will not normally interfere
with the operation of a BASIC program MERGEd with
it.
GETTING STARTED
Type in listing 1 ("maker. Bl") and GO TO 9999 to
save it.
GO TO 100 to create and save ,fmove20 j.Cl". This
step need be done only once for each disk to be
used.
Type in listing 2 ("loader. B1M) and GO TO 9999 to
save it. This is the program to be RUN when a new
AROS is to be created or programs are to be run in
both HOME and DOCK banks.
Type in listing 3 ("PRGMV.B3") . Save as "PRGMV.B3"
and as a code file: < RANDOMIZE USR 100: SAVE
"CORE.Cl"CODE PEEK 23635+ PEEK 23636, 3000>. The
two PEEKs find the beginning of the BASIC program.
This is necessary since LARKEN moves (prog) up 50
bytes if the large printer is activated. The 3000
is an arbitrary number large enough to be sure
that all of the program has been saved.
USING THE PROGAMS
(A TUTORIAL)
1. Since the RAMDISK banks will be used, the HRITE
PROTECT switch must be in the OFF position.
2. The floppy disk must have its protect sticker
removed.
3. Since both the RAMDISK and floppy disks will be
messed with, it is prudent to make copies of each
before using the program.
4. LOAD "loader. Bl". You will be asked which bank
is to be used.
Enter <1> for bank "A", <2> for "B", etc.
Use <1> for a trial run.
There will be a great whirring and clanking for a
few seconds while it saves the RAMDISK bank you
chose, loads in the matching DOCK bank and a short
m/c routine.
The screen will flicker, simulating a crash, and
then some more whirring while the BASIC controller
program is merged into HOME bank.
Finally, a menu in black ink on cyan paper will
inform you which DOCK bank you are in and give you
the choice of going to HOME bank or running a
program in DOCK.
The whole process is quite scary.
9. All features are MENU driven for ease of use. 5. If you choose to RUN in DOCK, the same menu
will appear since the only program resident is the
10. The screen and ink colours change when you BASIC controller program (PRGMV.B3).
change banks so that you will know which bank is
active. This information is important because you 6. The other option will reveal the BASIC
cannot LIST or EDIT lines if you are in the DOCK. controller listed in white ink on blue paper.
2.9
Since the program was just HERGEd into the HOME
bank, it will not autorun.
Use <GOTO 9999> to bring up the menu.
7. The menu will give you 4 options: 1: RUN, 2:
MERGE, 3: MOVE to DOCK, and 4: SAVE & RESTORE.
8. Try option 1. You will be asked which bank you
want to RUN in. Either choice at this time will
come up with the menu for the bank chosen with the
appropriate ink and paper colours.
After going to DOCK and returning to HOME, use
<GOTO 9999> again to return to the menu.
9. Now try the option 2 to merge a program into
HOME bank.
A CAT will be performed and you will be prompted
to enter the name of the program.
The program to be merged must not include lines
above 9990 or it will destroy the controller
program and you will lose control.
If the program uses the TIMEX printer, it should
make a USR call to 2613 to clear the printer
buffer before any printing is done and should
reload "mov20 j.C3"CODE after using the printer.
Try wtest.BlM. This is a one line PRINT program at
line It.
10. Return to the menu and choose the RUN option.
Choose DOCK and note that its menu comes up again
because the test program has not been moved into
DOCK yet.
11. Return to HOME and call up the menu.
This time choose to RUN in HOME. The test program
will run and print an "OK" message.
12. Return to the menu and choose the MOVE option.
A prompt will tell you to hit a key to return to
menu.
13. Now RUN in DOCK and see the test program
running.
Use <GOTO 9990> to get to the DOCK menu.
14. Return to HOME and delete the print line.
15. RUN in both banks and note that the test
program still works in DOCK.
16. Now move the program to DOCK and RUN in both
banks again.
The test program has been removed from DOCK.
(This program should be removed before using the
last option of saving the DOCK program)
17. Put a line somewhere. Por example, <1 REM>
will do nicely.
The SAVE option deletes lines 1 to 9990 and there
must be something to delete.
30
Choose option 4 of the HOME menu.
The program in the HOME bank will be saved as
MHOMEn.BlM where n is the chosen bank.
The DOCK bank will be saved as MDOCKn.ClMCODE
32768,1. where 1 is the length of the file in
DOCK.
The RAMDISK bank MRDBNKn.ClM will be loaded, thus
restoring RAMDISK to its original state.
But the RAMDISK bank is still switched on and a
program loaded in now would overwrite the data in
the bank.
You will be prompted to switch off the power
supply before doing anything else with the
computer.
18. Now switch on and try RAMDISK. It should work
normally.
**************************************************
USING IOUR AROS
Assume that you have moved a BASIC program "XX.Bl"
into bank 7 and want to keep it there to be run at
any time.
Bank 7 cannot be formatted as a RAMDISK bank in
drive 4.
The AROS was saved as "D0CK7.C1M when you created
it. Change the name to HXXAR.C7M and put it into
bank 7 as follows:
<OUT 244,240: OUT 7,68: RANDOMIZE USR 100: LOAD
HXXAR.C7"C0DE> <OUT 244,0: OUT7,0>
The program will stay in the bank as long as the
battery backup is in place.
To run the AROS: <OUT 7,4: NEW>. It's that simple.
The bank can be used for other programs since the
code resident in bank 7 will be saved when the new
BANK7.C1 is created with the package and will be
restored when the process is finished.
Thus any number of programs can be run in the one
bank as long as each is given a distinctive name
and is loaded into the bank as required.
File MXXAR.C7H would have to reloaded if it is
desired to have it resident in the bank.
**************************************************
LISTING 1 (maker.Bl)
5 REM TO CREATE THE CODEUTILITT Hmov20j.C
3" WHICH SWITCHES FROM DOCK TO HOME BANK AMD MOVE
S A PROGRAM FROM HOME TO DOCK,<GOTO 100> LARR
I CRAWFORD 20 JAN 90
20 PRINT AT 10,4;MTHIS PROGRAM WILL FORMAT"; AT
11,9;"A RAMDISK BANK"; AT 13,4;"WH1CH BANK WILL BE
USED?";AT 14,12;"(1 TO 8)": INPUT B: LET B$="735
16240": LET LRBNK=CODE B$(B)U6
30 RANDOMIZE USR 100: LOAD "CORE.crcODE 32780:
RESTORE 30: FOR X=32768 TO 32779: READ I: POKE X
pi: NEXT X: DATA 1,2,12,128,15,1,0,0,B,LKBNK,184,
11: RANDOMIZE USR 100: SAVE "DOCK"*STR$ Bt\Cl"CO
DE 32768,3000
41 STOP
100 RESTORE 111: POR X=23296 TO 23334: READ Y: P
ORE X,Y: NEXT X: DATA 175,050,198,092,195,040 ,014
,237,091,083,092,042,089,092,205,069,023,017,012,
128,175,211,244,126,245,062,240,211,244,241,018,0
35,019,011,120,177,032,238,201
110 RANDOMIZE USR 100: SAVE "mov20j.C3"CODE 2329
6,39: STOP
9999 RANDOMIZE USR 100: SAVE "maker. Bl" LINE 1
LISTING 2 (loader. Bl)
10 CLEAR 65367: PRINT AT 10,0;"THIS PROGRAM HIL
L MOVE A BASIC"'" PROGRAM INTO A RAMDISK BANK""*
HHICH BANK HILL BE USED?"'" (1 TO 8)":
INPUT B: LET B$-"73516240": LET LKBNK=CODE B$(B)+
16
20 OUT 244,240: OUT 7,LRBNK: RANDOMIZE USR 100:
SAVE HRDBNR"+STR$ B+".C1"C0DE 32768,32768: RAN DO
MIZE USR 100: LOAD "DOCR"+STR$ B+".Cl"CODE : OUT
244,0: NEW
9999 RANDOMIZE USR 100: SAVE "loader. Bl" LINE 1
LISTING 3 (PRGMV.B3)
10 REM DO NOT DELETE THIS LINE
9991 PORE 26664, (PEEK 26664)+l: GO TO 9997+(PEEK
26664>1)+(PEER 23750=0)
9992 CLS : PRINT AT 10,0;"RUN PROGRAM IN"M"1: HO
ME BANK" ""2: DOCK BANK"' '"CHOOSE": PAUSE 0: POKE
23750, 128*(INKEY$="2"): BORDER 1+(IHKEY$="2")*4:
PAPER 1+(INKEY$="2")*4: INK (INKEY$="1")*7: GO TO
0
9993 CLS : RANDOMIZE USR 100: CAT "",: INPUT "ENT
ER NAME OF PGM TO BE MERGED ";Z$: RANDOMIZE USR
100: MERGE Z$: GO TO 9999
9994 CLS : RANDOMIZE USR 100: PORE 26662, (PEER 23
641+256*PEEK 23642)-(PEEK 23635+256*PEER 23636)+!
4: RANDOMIZE USR 23303: PRINT AT 10,0;"THIS PROGR
AM IS NOW IN BOTH DOCKAND HOME BANKS"" "AND YOU A
RE IN THE HOME BANK"' '"PRESS ANY REY FOR MENU": P
AUSE 0: CL
S : GO TO 9999
9995 RANDOMIZE USR 100: SAVE "HOMEH+STR$ PEER 266
60+". Bl": DELETE 1,9990: OUT 244,240: OUT 7, PEEK
26661: RANDOMIZE USR 100: SAVE "DOCR"+STR$ PEEK 2
6660+".Cl"CODE 32768, PEEK 26662+256*PEER 26663: R
ANDOMIZE USR 100: LOAD "RDBNR"+STR$ PEEK 26660+".
Cl"CODE :
OUT 244,0: OUT 7,8: CLS : PRINT AT 10,0;"HOME, DO
CK BANKS HAVE BEEN SAVED" ""RAMDISK BANK HAS BEEN
RESTORED" ""SWITCH OFF POWER SUPPLY BEFORE" ""LO
ADING ANOTHER PROGRAM": STOP
9996 BORDER 1: PAPER 1: INK 7: CLS : RANDOMIZE US
R 23296
9997 RANDOMIZE USR 100: LOAD "mov20 j . C3"CODE : OU
T 244,240: POKE 26660, PEEK 32776: PORE 26661, PEEK
32777: POKE 26662, PEEK 32778: PORE 26663, PEER 32
779: OUT 244,0: RANDOMIZE USR 100: MERGE "PRGMV.B
9998 BORDER 5: PAPER .5: INR 0: CLS : PRINT AT 10,
0;"YOU ARE NOW IN DOCR BAHR ";PEER 26660 ""YOUR C
HOICES ARE"""1: SWITCH TO HOME BANK" ""2: RUN A
PROGRAM IN DOCK BANK" ""ENTER CHOICE ": PAUSE 0:
GO TO 9996*(INKEY$="1")
9999 OUT 244,0: CLS : PRINT AT 9,7;"YOUR CHOICES
ARE"""1: OPERATE A PGM IN EITHER BANK" ""2: MERG
E A PGM TO HOME BANK" ""3: MOVE THIS PGM TO DOCK
BANR"""4: SAVE HOME & DOCK BANKS ";PEEK 26660;"
AND"'" RESTORE RAMDISK BANK"" '"ENTER CHOIC
E": PAUSE
0: GO TO 9991+CODE INKEY$-48
**************************************************
DOCUMENTATION FOR THE PROGRAMS THAT MAKE UP THE
T/S 2068 UTILITY TO PUT BASIC PROGRAMS INTO THE
LARKEN RAMDISK BANKS
DONATED TO THE PUBLIC DOMAIN BY LARRY CRAWFORD
357 REYNOLDS RD LONDON ONT CANADA N6K 2P8
(519) 657-9119 27 JAN 90
**************************************************
For background and theory refer to the tutorial
Tasword file "tutor. CT" on this disk.
A RAMDISK bank is one of the RAM chips on the
LARKEN RAMDISK board.
A DOCK bank is one of these chips used without
being fomatted into drive 4.
An AROS is a DOCK bank file that contains
"overhead bytes" and a BASIC program.
**************************************************
"maker.Bl"
This short program is really two programs in one.
Lines 20 and 30 will create a code file which,
when loaded into a DOCK bank, simulates a BASIC
AROS cartridge. Lines 100 and 110 create the 39
byte m/c program which is called to switch from
DOCK to HOME bank and to move a BASIC program from
HOME to DOCK bank.
LINE 20
Prompts for the bank to be used as an AROS. This
number is assigned to variable B.
RAMDISK banks are identified as A, B, C,...,H. We
will use the sequence 1, 2, 3, ...,8 instead.
This will help distinguish between the lettered
RAMDISR banks and the numbered DOCR banks.
A string variable, B$, is assigned the set of
integers which are the RAMDISR bank code numbers.
The appropriate number is sliced out of the
string, adjusted to turn off the write-protect
feature, then assigned to the variable LRBNR.
LINE 30
Loads in a previously prepared code program. More
on that later. POKES the "overhead bytes'* for the
AROS into the first eight addresses in the bank.
Then pokes the bank number and the bank code
number into the next two. The last two bytes are
the number of bytes to be saved as code. The two
numbers in the DATA statement represent 3190, an
arbitrary number large enough to include all the
data.
Then the file is saved as "DOCKb.cr, where b is
the bank number.
A file of this format must be stored on the disk
before the utility can be used.
LINE 100
POKES the following m/c program into the beginning
of the printer buffer:
23296 XOR A
LD (AROS FLAG), A Switches to HOME bank>
JP 3624 decimal <the entry point to BASIC
in R0M>
23303 LD DE, (prog)
LD HL, (el in)
CALL 5957 decimal
LD DE, 32780 dec.
loop XOR A
OUT (244), A
LD A, (HL)
PUSH AF
LD A, 240 dec.
OUT (244), A
POP AF
LD (DE),A
INC HL
INC DE
DEC BC
LD A,B
OR C
JR NZ,loop
RET
<"differenceM subroutine
in ROM. Loads BC with
difference between HL
and DE. Loads HL with
(prog)>
<where the BASIC pgm is
to be moved>
<load A with xero>
<all chunks of RAH in
HOME bank active>
<get byte of BASIC pgm>
<store byte>
< chunks 4 to 7 active in
DOCK bank>
<get byte of BASIC pgm>
<put byte in DOCK bank>
<increase both pointers>
<decrease counter)
<loop until counter is 0>
LINE 110
The 39 bytes are saved as Mmov20j.Cl" ready to be
loaded later when needed.
Lines 100 and 110 need only be used once.
v
tttttttttt*ttt*t*tt*tt*t*tt*tt*tttttttttt*t*tttttt
"loader .81"
This is the program that is run to actually use
the utility.
32
LINE 10
Prompts for the bank number, B, and calculates the
value for RDBNK.
LINE 20
Switches on the chosen bank and saves the resident
RAMDISK data.
Loads in the matching DOCK bank AROS.
Switches on all chunks of HOME bank, leaving the
DOCK bank selected.
t********t*********t******e**t*t*tttt*et*«tttt**t*
"PRGMV.B3" and "CORE.C1"
Both are the same program: one saved as BASIC and
the other as a code file. Between them they are
the controllers for loading and running BASIC
programs in ROME and DOCK banks.
The code version is resident in the AROS and runs
when the computer is NEWed by the loader program.
LINE 10
This is a dummy line needed if no other program is
merged into HOME bank. The SAVE option deletes
lines 1 to 9990. Therefore, there must be at least
one line in that range.
LINE 9991
Address 26664 that is peeked, incremented, and
poked, is located in an unused corner of RAH. It
has a value of zero on startup and is used here as
a flag to indicate whether or not this is the
first run of the program.
If this is the first run, PEEK 26664 will not be
greater than 1 and PEEK 23750 will not equal zero
(we're in DOCK now so 23750 holds 128). Thus the
GOTO will be to 9997+0+0.
If this is not the first run and we're in DOCK,
the GOTO will be to 9997+1+0.
If we're in HOME bank, GOTO 9997+1+1.
LINE 9997
This line is used only on startup. First the m/c
routines are loaded into the printer buffer.
The top 4 chunks of HOME bank are switched off.
Then the bank number, bank code number, and number
of bytes of code in the AROS are all poked into
the comer of RAM next to our flag.
These parameters must be accessible no matter
which bank is in use.
Finally, the ROME bank is restored to its full
size and the BASIC controller, "PRGHV.B3" is
merged into place.
LIRE 9998
Sets the paper and border to cyan and ink to
black. These colors inform you that the computer
is operating in DOCK bank.
A menu is displayed giving you the option of going
to HOME bank or running a program in DOCK.
If the choice is to goto HOME then the GOTO will
be to 9996*1. If not, GOTO 9996*8; thus
effectively running the program in DOCK.
LINE 9996
Sets the paper and border to blue and ink to
white.
These colors inform you that the computer is
operating in HOME bank.
The bank-switching routine at 23296 is called and
control will now be in HOME bank.
The resident program will not run automatically
but must be activated with a GOTO to the
appropriate line number.
GOTO 9999 will always bring up the menu in HOME.
LINE 9999
The HOME menu. First, the HOME bank is switched in
and the 4 choices displayed.
PEEK 26660 in the SAVE option is the bank number.
The GOTO line is simply 9991+ the choice number.
If the first option is selected, control is passed
to line 9992.
LINE 9992
A new menu is displayed giving the option of
running the program in HOME or DOCK banks.
The POKE to 23750 is either 0 or 128 depending on
the bank chosen. The operative bank is determined
by the value stared in 23750.
Similarly, the border, paper, and ink colors are
set by the Boolean logic in each of the
statements.
The GOTO 0 effectively runs the program in the
selected bank.
LINE 9993
Activated by the MERGE option of the menu.
It does a CAT and prompts for the name of the
program to be merged.
MERGES that program and returns to the menu.
LINE 994
Called by the MOVE option of the menu. Whatever
program is resident in HOME will be placed into
the AROS.
First, the number of bytes between (el in) and
(prog) is found and 14 bytes added to allow for
the "overhead" bytes of the AROS and our
parameters. This number is double poked into
26662, replacing the previous length stored. (He
had poked in 3000 originally. Remember?)
The m/c at 23303 is then called to do the actual
move then a message is displayed to inform you
that the move has taken place.
The menu is then called up once more.
LINE 9995
The SAVE option. Lots of activity here.
First, the program in HOME is saved under the name
"HOMEb.Bl" where b is the bank number.
Then lines 1 to 9990 are deleted to be sure that
line 9995 is not in a chunk of RAM that will get
switched off.
Next, chunks 4 to 7 are switched off for MOME bank
and the write-protect turned off in DOCK.
The number of bytes to be saved is PEEKed from
26662 and 26663 and the AROS saved as "DOCKb.ClH.
The RAMDISK bank that was saved at the beginning
is put back in place by LOAD "RDBNKb.Cl".
A message is displayed to be sure that the
computer is completely back to normal by switching
off the power supply before using it with another
program.
**************************************************
"CORE. CI"
The controller program "PRGMV.B3" saved as code.
After PRGMV.B3 is typed in, it is saved as
MC0RE.C1"C0DE PEER 23635+ PEEK 23636, 3000.
**************************************************
VARIABLES USED BY THE UTILITY
IN AROS IN RAM MEANING
32776 26660 active bank number
32777 26661 LARKEN bank code
32778,9 26662,3 length of code file in AROS
26664 flag for first run of pgm
**************************************************
Rlz{-ER tree's
These two articles In this issue
is the wrap-up on the subject of
Extra Memory- There are many
more articles in the back issues
of Update and the total of these
form a complete reference on
Extra Memory, both f ran the
Programing and the hardware
standpoints. These articles will
be referenced by Update Magazine
issue dates below.
Oct 87-
Jan 88-- Extra mam programing .
Mod of TS-IOOO Ram.
15-2068 whole schematic.
Ext Buss pin diagram.
Apr 88— System Variables.
MOVE PROG - Program.
Jul 88— DOS- 64 f Bankswitching.
First of Chuck Bothner's
series on RAM EXPANSICtf.
Oct 88-- Larken Ram Disk.
Extra memory recap.
Chuck Bothner's second
art on RAM ECTEHSIOH.
Jan 89 — LKD03 OFF Switch.
Jul 89— FD-68 Update (bkswitch).
Oct 89 — Larry Crawford's first
Ex Memory article.
Jan 90— Two articles in this
33
WIDJUP (Bill Pederson, 1120 Merrifield S.E., Grand Rapids, MI 49507) has sane
interesting facta on PRINTERS and DRIVERS that are applicable to all Caqputers. His
CRD DISCS are for the TS-2068 LKD06 Sjstm. Write for iafonaation.
DOT MATRIX PRINTER DRIVER
The VIDJUP Co. graphic priater driver far 9 and 24 pia printers
is a very flexible tool. It was designed to do VIIDOVS. These
windows refer to the printed page, not the screen.
A window can be napped to the screen in aany ways. Sooe can
lead to confusion. If it happens to be a screen dunp, it's easy
to forget that it is the printer which is being mapped to the
screen— not the opposite. All windows are espty until written
to by programs.
Artwork programs write graphics to the screen, or to a file
which can be displayed. For computers with lots of memory the
files might be priater page images, often compressed, giving the
program DESKTOP capability.
Host art and font programs for the TS2068 are screen oriented.
That is where mapping becomes important. The priater window can
be mapped to the sane location that the artwork program uses.
The artwork program now appears to be writing to the printer.
When the printer window is small enough to fit on the screen,
it is possible to have "Vhat you see is what you get."
More properly, "You can almost see what you are going to get.
At best, you may still have distortions. WYSIWYG is a catchy
phrase, but it is still an idealistic view that can't be met
using any common monitor, unless dedicated for special use.
It is not wrong to want to see what your printed output will be
like. That Is a valid human engineering goal, though not always
necessary. Good programs provide a "PBBYIBW function, often
backed up" with "FAT BIT" managing editors.
When a priater window is too large to be displayed across the
screen, it can be divided into pieces which can. An example is
displaying a *J0x8 dot printer window on four consecutive screen
lines with some space left unused at the end of the fourth line.
This is nice for graphic mode word processing.
There are 11 pokes necessary to set up a window and map it to
the screen. An application might use many windows, so some way
to make this easier is required. One way is to set up an array
with the most frequently used windows predefined.
The array JS<20,11) is used in WIDJUP programs. That for CADtfi
is shown below. Heferences to a checkerboard apply to a DBHO
" " for GIAPHOIY. a utility for developing windows for applications
like DESKTOP-
J*E.A» VIITDOW DATA ARRAY
Scrt^n Comer TYP5 Print torgin Char LF/CR Lwe *»J«
cSSn Sc« C3K Passes A IJ* W Fjj* *f »$ i Serf. f^.JHjW }}•»
2 0 ? « 4i 40 32 2 2 J I ul^Tirm SKlfbcth)
19 0 % \ * 3 * t t i«s 1 960 dot pass 12'bcthi
S 0 32 * J J 2 22 I 192 I 9?0 dot pass M(ooUj) .
$ 0 64 « \ X V* • ? 0 5 208 0 ChtcktrtSrt top Ieft;9 pin)
7 0 0 | } ^ ?} * 24 $ IS3 0 Checkerboard Up rift
9 1 0 9 I • l\ tZ{ 5 208 « Checkerboard white left
9 0 8 | } 4J 4 i ,J 5 is! 0 Checkerboard thiU right
tO I 8 | I ,J 5? f o 5 208 0 Checkerboard, b ack left
11 0 M 8 f « *} \ ?J l fs| $ Checke^oa< blK* rirt
12 I |i | \ A is t"5 S 208 0 Checkerboard, bettw .t*t
13 0 163 ! f 42 ? ? >i e 0 ChtrtertoaM Mtt» ".jM
32 32 H 32 0 3x ?* 8 £ J2 32 9?*E
15 92 :2 J2 32 32 3^. J. h i= i; 22 $W£
5 32 32 22 12 32 « £ g § g -|
19 32 32 22 32 3t £ g g g g j. m 34
SS $ i S « S 8 § S 6 32 SPARE
PHI ITER VIIDOV PARAXETERS
Kargin Dots. . These are blank dots which need not be napped to
the screen. They may be margin, column gap, etc.
Chars Vide.. There are eight dots needed per character shown
on the screen, but each screen dot may be copied to
the printer a selected number of times.
Total Dots.. The total of margin and multiplied char dots.
LF/CS. . Vindaw termination nay require one or bath codes
to allow concatenation, or cause a new line. This
parameter specifies the number of codes Issued.
Line Feeds.. The number of minimum line feeds to be taken at
the end of the window. This can be 0.
Prt Passes.. The number of times a single window is repeated
to make a larger one. This is how dumps are done.
Graph MODE. . The printer graphic mode to be used for this
window. 24 pin printers do not have mode 5, but
support 24 pin graphics. These added modes are not
supported by this driver.
SCEEEI PARAXETERS
Scrn Column. . Column 0 to 31 as usual. (Start location)
Scrn Scan. . Scan 0 to 195, from top down. (Start location)
Chars Vide. . From 1 to 120 (less for GORILLA BAJAIA, more for
wide carriage printers). Vrap-around is active.
Characters printed multiple wide reduce this.
TYPE CODE. . This byte contains width, height and video mode
specifications.
BIT 6... Double wide.
BIT 5... Toggle for DJPILE2. .
BIT 4... 64 wide video' mode.
BIT 3. . . Single high. (BIT 2=0)
BIT 2. . . Double high. (BIT 3=0)
BITS 7,1,0... lot used.
Designers of printers cater to wants and needs of users even
when those are based on less than full knowledge of how things
work. The ideal of VYSIVYG has been one of these. Several of
the graphics modes have been provided to achieve this for CRTs
and displays of specific types, including TS2068.
The designers also provided for more enlightened users, though
not always with compatibility with older methods in mind.
Dot-for-dot square printing is lode 5 for 9 pin printers, but
Rode 0 for many 24 pin printers.
Some displays emulate a printed page. 24 pin printers were the
next advancement to obtain letter quality printing in many font
styles that people wanted. This expanded graphics performance
as well.
This new graphics capacity is only partly compatible with the
older printers. As mentioned, lode 5 was lost (though a IEARLT
equivalent mode is available). 9 pin mode is lost as well.
This was acceptable because very few existing printer drivers
called far these, and IEARLT was close enough to satisfy most.
The impact on existing software was minimal. It is in the area
of maximum utilization of graphics that there is little common
ground.
Existing programs making maximum use of graphics are generally
available only for other computers that use custom drivers.
CAD#2 has a driver for OLIVETTI PR2300 ink Jet printer.
(1/216- line feed)
CAD#3 has a driver for BPSOI 9 Pin printers and compatibles.
( 1/216" line feed)
CAD#4 has a driver for STAR 9 Pin printers and compatibles.
(JUQAA" ltae feed) (Being updated)
CAD#5 has a driver for EPSOI 24 Pin printers and compatibles.
( 1/180" line- feed) (lot available yet)
These programs differ because graphic files are unique to each
printer, and that requires special routines far generation.
Data files, however, are completely transportable between them.
(01969,1990 The VIDJOT Co. VJP
text 87 samci Quill other virtues, this lets you have 10% more
IPsutrt I characters to a line with no deterioration in
readibility.
Peter Hale, P.O. Box 8763, Boston, MA 02114
With right justification all spacing is micro-
Unless you have been on the moon for the past two kerned. No double spaces to pad things out.
years you have at least heard of text1', the new It's almost like a type-set book, and the printer
word processor for the Sinclair QL and Thor. behaves the same way.
Whatever objections there are to Quill - its
snail-like movement around a file and its
occassional lockups - its price is right and most
of us have learned to live with its 'features'.
DEFINITION; A feature is a bug that has been
around so long that everyone has learned to live
with it and takes pride in knowing how to avoid
it.
This article, and the ones that follow, compare
Quill and text11 while at the same time provide a
tutorial for using text*7.
WHY text"?
First of all, text17 is a WYSIWYG (What You See
Is What You Get) word processor with many of the
functions found in good editor programs and a lot
of other goodies besides.
In truth, there may be more bells and whistles
than the casual writer may want, but as a word
processor it has features and is capable of work
that is impossible on any other wordprocessor for
any other computer.
A Brief List of the Major Goodies:
First and foremost, it doesn't ever lockup.
The cursor is faster than in Quill and erasing or
moving blocks is swift like a bunny rabbit.
Virtually every printer font and enhancement can
be shown on the screen in a different text color
or screen font. Italic is. italic, condensed is.
condensed, double-wide is double-wide, and it can
be red, green or white. You choose. Justification
and word wrap are automatic and take into account
different pitches (characters per inch) of text.
The default font is proportional: an V ■•takes up
less horizontal screen space than an V 7nuong
All files are in RAM. Unlike Quill, which wants
to hog all available memory, it permits limits to
be set on the memory to be used. Then, up to the
memory available, text17 sets a limit. However,
except in its minimal configuration, it needs
memory expansion.
Up to four columns of text can be printed on a
single page in a single pass of the printhead.
(It does not show that way on the screen - you
see just one column at a time.)
A Quill _doc file can be imported to text17 and
carry with it all typefaces, tabs and margin
settings, converting them to the appearance set
in the program.
If you so desire, text17 can convert the QL to a
Dworak keyboard or set any key to type any
character in the QL character set or any other
character you choose to create. However, its up
to you to mark the keys themselves.
With auxiliary files (at extra cost) screen dumps
are possible and a wide range of new fonts can be
designed for special effects. There is even a
laser printer driver specific to text17.
A Brief List of Major Differences:
The first is also the first one under Goodies.
The next difference is that text17 has no Help,
as does Quill, through the Fl key. (Pressing Fl
in text17 will activate the spelling checker.)
A third difference is that the Redraw screen key
is F4, not SHIFT F5 as in Quill.
Two other differences have to do with the cursor:
When the cursor control moves more than one
character, as with Shift Right arrow, it seeks
out the position to the left of the first space
3.6
encountered; Quill seeks out the position to the
right.
The other cursor difference is that it acquires
its font enhancements from the character to its
right; Quill picks up enhancements from the
character to the left of the cursor.
The final major difference is that there is no
overwrite function in text87. The reason is
fairly simple, text17 can display varying sizes
of font on the screen. If the current screen
font is double-wide, what happens when trying to
overwrite in a condensed font?
Although disconcerting at first for a person
accustomed to Quill, the new standard is not that
hii'J to come to terms with.
USING text*7
If you are spoiled by the simplicity of using
Quill straight out of the box, you may feel
frustrated in getting up and going with text17.
Before starting text17 for the first time, it is
necessary to select the correct printer driver
from the dozens of files for a wide range of dot
matrix and daisy wheel printers. The one that
applies to your printer must be copied to a file
called driver_P87. Henceforeward, whenever text17
is loaded, this file is automatically accessed
and the standards of a particular printer modify
the program. {Once running you may access other
driver files by name to change printers.)
Thus it is not necessary to read a printer_dat
file each time a document is printed. Each
printer driver includes all possible translate
functions. Any character in the QL character set"
that is present somewhere in the printer's ROM
can be used without having to run install_bas and
be restricted to ten translate options.
You must write your own boot. The manual has a
sample boot, but you may want to expand an it,
particularly to define ALTKEYs.
After loading, which takes a bit longer than
Quill, press CTRL C. text17 is EXECed, not
EXEC_Wed. There are no file handling features as
in Quill. This is partly to concentrate on
important features of word processing, and partly
because so many users now have toolkits or
Taskmaster or whateever that handle files far
better than Quill does and it doesn't make sense
to reinvent the wheel, (text17 multi-tasks just
fine under QRAM or Taskmaster.)
Some function keys are similar to those used in
Quill. F2 shows the cursor status and the current
Ruler. It toggles as in Quill. F3 enters the
command mode and a main menu is always presented
at the foot of the screen.
There are a few familiar commands: Goto, Print,
Search, and Zap are ones you already know.
There is Files, but its purpose is very
different. No load, save, margin, tabs, justify,
footer, header, design, etc., but the functions
are all there together with many others.
GOTO goes to the top or the bottom of the text,
or to a page number, as well as first page, next
page and top of current page, and also goes to a
document line number - and boy does it get
whereever it is going fast! (Using line numbers
is tricky because you have to know where you are
going in order to get there.)
PRINT is more complex than in Quill, but it's
also more versatile. It will print a selected
range of pages but also a selected range of
lines. When printing text, the current cursor
position is the default line numbef for the first
line to be printed.
This command also defines headers and footers
(which can be multi-lined), and the printout can
be right justified even though the on-screen text
is not.
Among other neat features is the option to print
alternate pages. Why? You might want to print
on both sides of a sheet of paper, but have the
text sequential. Or perhaps page numbering needs
to be at the outer edge of a page, and would
require a different footer and/or header for even
numbered pages than for odd numbered pages.
SEARCH has the features found both in Search
and in Replace in Quill and it's a lot faster.
Unlike Quill, which starts at the beginning of a
file, text17 searches from the current cursor
position. There's an option for Global replace-
3.7
merit, but because of its inherent dangers, it's
is only offered after the first replacement.
Search is case specific, meaning it ignores
'HELLO' if you ask it to search for 'Hello'.
text17 remembers the prior search and/or replace
string so that you may recall it and edit it to
search for a modified string.
ZAP has both the document Zapping function in
Quill, and the Quit, and goes through the same
verification as does Quill.
FILES is different from Files in Quill. It
handles load, save, merge, import or export.
File names are not restricted to 8 characters as
they are in Quill. They may be of any length and
can include other characters not permitted in
Quill including the underbar.
Saving and loading assume a _T87 extension and
file names are always in capitals on the disk
directory. Save is not as polite as in Quill. It
does not ask permission to overwrite a file of
the same name. It just does it.
Merging inserts a _T87 document at the cursor, as
in Quill, but also adds any Rulers not already in
the document to the table of Rulers.
There's the choice to Export in ASCII (like
Printing a J is file from Quill -but making
necessary conversions for Tabs) or text17 format
with the extension _L87 (its primary purpose is
to move text between documents.)
If a block of text has been highlit, only the
block will be exported; otherwise, the whole
document will be exported.
(As an aside, the rapid movement of the cursor in
text17 makes block definition seem about ten
million times faster than in Quill, so it gets to
be very handy.)
Import offers text*7 or ASCII or. Quill format.
The first two options insert the imported file at
the cursor position. The Quill import loads a
Quill jioc file as new text, and preserves all
Quill highlights, converting them to the visual
form used by text17. Tabs and end of paragraph
markers are retained, if desired. All- import
functions are very quick indeed.
CURSOR CONTROL in text*7 has capabilities
much as in Quill, but does a lot more. It adds
the ALT key for greater versatility. SHIFT and
an Up or Down cursor key move 10 lines, not just
a paragraph. Add ALT key and it moves 40 lines.
SHIFT with a Left or Right cursor key sends the
cursor to the start of the next space, not after
it, as in Quill, but you catch on fast.
ALT plus a Left or Right cursor key takes the
cursor to the start or end of the current line.
Deleting is like Quill, except that the ALT key
is used with the Left and Right cursor key to
remove whole lines.
As with Quill, there is a separate command to
delete blocks of text.
RULERs are not found in Quill, text11 includes
Margin, Tab, Justify and some Design features in
one command called Ruler, but there is a learning
curve to get the hang of using rulers.
The Ruler command in the main menu is used to
edit and select rulers. On power up there is one
default ruler (Ruler 0). Multiple rulers can be
created and a selected ruler can be inserted at
any point in a document. Any ruler can be copied
then edited into a new ruler up to 11.5" wide.
The special feature of the Ruler Command is that
its parameters are all in absolute units of
length (tenths of an inch or. millimetres) rather
than columns, as in Quill. This means that text
can be formatted according to the printer pitch
chosen for printing a specific character or
characters .
On screen, several pitches can be mixed without
effecting the layout. Thus, if the selected
printer font is double-wide, text17 knows to
display only half as many characters per line as
with 10 pitch pica and 10% more characters will
show on a line with proportional spacing. This
is what is meant by WYSIWYG .
The ruler tells the truth. Occassional ly, a
combination of screen fonts may force a line
outside the limits of the right margin. Do not
dismay, text17 knows what it is doing and what
gets sent to the printer is what you want sent.
3.8
Rulers are saved with a document and it's vise to
have a special file with a number of favorite
rulers to load when starting a new document.
Each ruler carries a range of information:
Justification: right or left. (Actually, the
choice is to justify or ignore, on the grounds
that justify means right justification.) There's
no Center Justification; use Center Tab instead.
Line spacing: the space between lines can be
adjusted to fractions of an inch. The default is
1/6 of an inch (12/72 or 30/180, depending on the
printer) but can be modified to your heart's
content. Thus it is possible to have double
spaced text mixed with single spaced text,
depending on the selected ruler.
Margins: left, right and indent. Indent defaults
to left margin, but may be designated as to the
right where the first left tab is located if it
is automated from a special indent feature in the
Mode command. The Indent mark itself is
exclusively for setting Indent to the left of the
left margin to create a hanging paragraph.
Selection: only one ruler at a time is active
under the cursor. A ruler is selected as an
option from the Ruler command. (The current
ruler is shown when the F2 key is toggled on.)
The selected ruler is inserted at the cursor when
SHIFT F5 is pressed.
Tab stops: left, right, center and decimal.
Enough already!
The next article in this series will explore
block handling and the numerous features in"
text11 that make screen presentation truely
revolutionary.
This article has been prepared on text1 1 mostly
in 15 pitch type. Note the use of micro-kerning.
You may order text**, version 3.01, from Software
87, 33 Savernake Rd., London, NW3 2JU United
Kingdom for £60. It includes Qtyp as an
integrated spelling checker with English, French
and German dictionaries. It is also available in
the USA for $94.95 from EMSoft, P.O. Box 8763,
Boston, MA 02114-8763 (617) 889-0830.
EMS o f t
Software for the QL that works hard
Now has in-stock the very best true
WYSIWYG QL word-processor: text87
V3.00 with spell check and several
new features. (includes 1 hr USA
help 1 ine) .
Tax-time means TAX-l-QL/89
RECIPE
INVENTORY
TRUST_FUND
QLAND_LORD
MAILBAG
DBTutor
DBProgs
CDIR/BOOTS
_dbf
_dbf
_dbf
_dbf
_dbf
_dbf
_dbf
SBas
$94.95
$24. 95
$14. 95
$9. 95
$24.95
$24.95
$24.95
$24. 95
$19. 95
$9. 95
On 5.25" DD or QD disks. On 3.5" or
mi crocartr i dge add $2.00.
FREE CATALOGUE
EMSof t
P.O. Box 8763
Boston MA 02114
(617)889-0830
fig " ~
Two tough things to find' for your
Time* ot Sinclair ZX/TS computer —
SOLID INFORMATION & GOOD CONNECTORS
YOU KNOW WHERE TO GET THE BEST INFO
FOR YOUR ZX/TS --SYNTAX, SQ, & THE
FOYT BOOK CHECK IT OUT— ASK ANYONE-
THEN GET ' EM ALL FOR
JUST $19.95 plus $10 s&H
BUS CONNECTOR & EXTENDER & HOUSING
LIKE A PRINTER CONNECTOR
Keyed Connector, Extender PC Board
PLUS Molded Black Plastic Housing
Fits: ZX80 & 81
TS1000 & 1500
PC8300
ZX/TS SUBSET
OF SPECTRUM
& 2068
Pkg of 3, ONLY $13.95 plus $2 S&H
SAVE Buy 2, get a FREE one
9 for $26.95 + $6 S&H SAVE
EMS, Box 8763, Boston, MA 02114-8763
617-089-0830 VISA & MC Add 4% "
39
3
TS-2068 Programming In the Abstract
THE STACK: The manipulation of the STACK
comes under the heading of "where only fools dare
tread". But aren't we brave? Look at it this
way, "you cannot hurt anything by trying, so why
not?". AND, we might be enlightened. Key in the
following little program and SAVE it. Then we'll
traipsie through the stack a bit.
10 FOR H=25088 TO 24833 STEP -1
30 PRINT n;"="; PEEK n;: NEXT n
60 PRINT "RETURN Line="; PEEK 25083+256*PEEK 25084
•"Statement t="; PEEK 25085
70 STOP: GO SUB 90
90 STOP
OK. First off, we will look at what we can
and cannot do with the Stack in BASIC. Timex
intended the stack to be "hidden from the user".
But a small tydbyte of information is given in the
user manual, page 255. Take a minute to look at
the sketch in figure C-l. The little program
given above PEEKS this area. The Stack is the
TS-2068' s exclusive "library" of "pending things
to do". If <G0 SUB> is used in a program line,
the LINE NUMBER is factored into a 16 bit word and
that word is stored on the stack at address 25083
and 25084. Then the "next statement number" in
the line after the GO SUB is stored in address
25085.
In our little program, the GO SUB is in line
170, statement 2. So, if allowed to execute, the
number 70 would be stored in address 25083. Zero
would be stored in 25084, and 3 would be put in
adr 25085. Check this out by RUNNING the program.
As the program runs the contents of the Stack
addresses will be printed to screen. Somewhere at
around address 25000, a train of zeroes will
print. These Zeroes tell us the "FREE MEMORY"
spaces of the stack. As more and more "library"
items are placed on the stack there will be few
Zeroes in the train. These "TS-2068 Library
items" are put on the stack to be used, and once
used they are erased. All of this is done by the
internal management utilities in the TS^-2068 ROM.
BUT, we can have a little influence on things.
When the program runs the first time, a
report will be given. This "RETURN LINE I and
Statement Nbr." will be inaccurate. This is
because there is no RETURN placed on the stack at
address 25083, 25084, and 25085. So, ignore the
report on the first run. The program will STOP at
line 170. When it does, type CONT ENTER. Then
another STOP will occur at line 90. This time
DONT do anything for now. Now lets look at what
we did.
We have introduced a "piece of JUNK" on the
stack, because we did not use <RETURN> after the
<GO SUB>. But in this case we do it intentionally
in order to see the RETURN in the Stack. After
the STOP at line 190, type GO TO 10 ENTER. Write
down the numbers given for address 25083, 25084,
and 25085, during the first screen full of
numbers. Then let the numbers scroll to the end.
At the end report the line 170 will be reported,
with statement number 3. So, we have captured the
<GO SUB that is on the stack>. AND the STOP again
occurs at line 170.
Now lets work a bit with 16 bit numbers.
First add LINE I 2000 to the program, add: 2000
STOP. What is the 16 bit number for 2000? ans:
2000/256=7.8125. Drop the decimal and 7 is the
msb (most significant byte). The lsb (less
significant byte) is gotten by: 2000-7*256=208.
So, the 16 bit number of 2000 is "208, 7\ Row we
will CHANGE the line number for the RETURN that is
on the stack. POKE 25083, 208: POKE 25084, 7:POKE
25085,0. After these POKES, Type <RETURN ENTER>.
Note the STOP at line 12000. Now we have learned
how to change a <RETURN> on the stack to a
different line number in a basic program, but WHY
would we ever want to do that?*
Well I'll give you a small example and you
will think of others. Suppose that after a menu
we want to present on screen the data contained in
A$. But if A$ has no data, we want the program to
RETURN to a different program line than contains
the GO SUB. I'll construct the routine:
500 (MENU item 4 selected)
510 IF Z=4 THEN GO SUB 900
900 IF LEN A$<1 THEN POKE 25083,208: POKE 25084,7:
RETURN
910 PRINT A$: RETURN
2000 REM Routine to use if A$ has no data.
RULES: You must have a GO SUB on the stack
before POKING the addresses 25083, 25084, 25085.
Otherwise you CRASH. So, the POKE must be done
AFTER the GO SUB. Dont poke other Stack
Addresses, or you'll get a crash. Oh well, what
the heck, and why not?
JUNKY STACK: If you want to find out how fast the stack can be completely corrupted, Remove the
Stop at line 70 and change line 190 to read: 90 GO TO 10. Then RUN. One of the pit-falls of using <GO
SUB> is that BASIC programs can be broken into. Each time a GO SUB routine is broken into three
addresses in the Stack are corrupted.
n „.„ USING BASIC STRING / ARRAYS IN MACHINE CODE PROGRAMS
Dear Bill, , ' . _
by Charles Bothner
I looked over your letter concerning the use of BASIC variables
and arrays inside machine code programs.
You said that you needed to locate a specific variable in the
BASIC VARS area of memory in order to use the data in a machine
code program. The following procedure will allow the transfer of
the location and size of a simple variable to a BASIC program. If
you want to locate a variable which has not been fixed in size by
a DIM statement, insert the following lines at appropriate line
numbers in your program:
1000 POKE 23728, CODE'^*'
1010 LET X=USR 23296: REM This is the start of printer buffer
1020 LET SIZE=PEEK ( X+l ) +256*PEEK (X+2)
1030 LET START=X+3
Line 1000 puts the letter code for the variable into a convenient
storage location, in this case into an unused slot in the normal
system variables table. Line 1010 accesses the machine code to
locate the variable address in memory. In this case I have put
the 28 byte routine into the printer buffer, but any convenient
location could be used since the code is completely relocatable.
On return from the MC routine, the variable X contains the
address of the identifier for the W$ variable. Line 1020 reads
out the current length of the W$ variable and line 1030 gets the
starting address of the actual characters in the variable. If
desired, these values may be POKEd into a convenient memory loca-
tion for subsequent access by whatever MC routine you intend to
use to manipulate the data. Here is the machine code which lo-
cates the starting address of the W$ (or any other) simple
variable:
ADDRESS OPCODE INSTRUCTION COMMENTS
5B00 3AB05C LD A, (5CB0) Get character code
5B03 CBAF RES 5, A Insure upper case char.
5B05 2A4B5C LD HL, ( 5C4B) Get VARS area address
5B08 LOOP: BE CP A, (HL) Test variable identity
5B09 280E JR Z, FOUND Jump if right variable
5B0B FE80 CP A, 80 Is this end of VARS ?
5B0D 2002 JR NZ, CONT Continue if not end
5B0F CF RST 08 Error return otherwise
5B10 01 VARIABLE NOT FOUND message ident.
5B11 CONT: 23 INC HL Point to size of field
5B12 5E LD E, (HL) Get size of variable
5B13 23 INC HL field size into DE
5B14 56 LD D, (HL)
5gl5 23 INC HL Point to next location
5gl6 19 ADD HL, DE Point to next variable
5B17 18EF JR, LOOP Test this variable
5B19 FOUND: E5 PUSH HL Get the address into BC
5B1A CI POP BC
5B1B C9 RET Done
This routine scans the entire VARS area of memory until the
starting address of the specific variable storage area is located
or until the end of the VARS area is reached, at which time there
will be an error type return. This will happen if the variable W$
(or any other simple string variable which is being searched for)
has not been previously assigned. If the variable has been
located, then the address is returned in the BC register pair.
Line 1010 in the BASIC code above will assign this value to the
variable X on the return from the machine code, r li
If a search for a fixed dimension string array is desired, it
will be necessary to insert the following assembly code bytes be-
tween the addresses 5B04 and 5B05 in the routine listed above:
It will be necessary to modify the lines of BASIC code to deter-
mine the actual size of the stored character field in the array
due to the extra data bytes stored in the data field for this
type of variable (see page 258 of the TIMEX 2068 users manual for
the details). Since the array has been previously dimensioned in
the program [e.g. DIM W$(40,256)], we can determine the correct
offset by taking the number of array dimensions (2 in this case)
and doubling it, then adding 1 for the number of dimensions byte
in the variable's data field and subtracting the result from the
data obtained in line 1020 above.
For the example of W$(40, 256) the changes to the BASIC lines is
as follows:
1020 LET SIZE= PEEK(X+1 ) +256* PEEK(X+2)-( 1+2* PEEK(X+3))
1030 LET START=X+3+(l+2* PEEK(X+3))
Obviously the terms can be combined to shorten the lines but I
left all the terms separate to clarify (I hope) the procedure to
locate the actual starting address for the character data stored
in the array along with the actual length. The size of the actual
character data field could be determined in this case by simply
multiplying the terms in the DIM statement. It is better to
determine the size on the fly for the cases where the array
dimensions may be determined by another variable instead of a
fixed value [e.g. DIM< 256, Z ) ] .
I hope that this brief explanation will give you an idea of how
to operate on data stored in the VARS area by either BASIC or
machine code routines. To summarize, the transfer of data from
the BASIC program to^the machine code requires the POKEing of the
data into memory locations where it can be accessed by the
machine code. Transferring of a single character or numeric
(integer) value from the machine code to the BASIC program may be
accomplished by loading the data into the BC register pair prior
to the return from the machine code.
If this information is not what you really wanted or if addi-
tional* clarification is needed, please let me know.
C680
ADD A, 80H
Converts to proper type
of dimensioned array
identifier
best regards,
Chuck Bothner
42
At Feng txaaMuuin. 04 the. Chicago TSUG (CATSUG)
and an expert pnx>gnarrmiA. oj the. Sinctaln. QL. At
takeA time, owt 4*x>m hU> uniting 4ot "Nlghtime,
NeM6" , the. CATSUG NetaUtetteA., to give, <jU
intoAmubion, on thruee. interesting ^aojzcti.
QDOS RCH Code
By Al Feng
Most Sinclair QL users in North America are
already aware that the Operating System (OS) in
their computer is called QDOS (i.e., QL Disk
Operating System) . This may seem as a bit of a
misnomer since the QL comes with microdrives for
storage; and, all disk drive interfaces are third
party! In fact, QDOS allows (i.e., "forces") you
to select the device being addressed by the user
(e.g., 'mdv.l_' , 'flpl_', 'raml_', 'winl_' ).
Clearly, either Sinclair Research Ltd. or Tony
Tebby realized that Uncle Olive's microdrives may
NOT be the ultimate storage device.
For those who are not overly familiar with the
inner workings of their QLs, the difference
between "British" and "North American" QLs
involves more than BT (British Telephone)
connectors vs. "D" connectors. In addition to
evolution in the PCB (Printed Circuit Board)
layout (i.e., the hardware), various versions of
the QDOS were released (i.e., the firmware).
Not knowing which QDOS version you are running is
generally not a handicap or inconvience. For
practical purposes, a QL with an 'AH' ROM will
run the QUILL word processor as well as one with
an 'MG' ROM. The transparent difference is
predominantly in the ERROR handling (i.e., the
user usually doesn't see it).
To find out what version QDOS your QL is running
(all QLs made by SAMSUNG ELECTRONICS COMPANY Ltd.
in Korea have 'JSU' ROMs) type:
PRINT VERS
<ENTER>
There are only a couple of reasons to know what
QDOS ROM code your QL has. The primary one is to
satisfy your curiousity. The second is if you
are running some programs (e.g., compilers which
depend on EXTENSIONS to QDOS). Often times, a
"patch" is included to compensate for
incompatibilities in the earlier code, so the
versions still doesn't matter!
Okay, what do those designations mean? Does the
'AH* designation mean that they think they
finally got it to a satisfactory point ["AHhhh"]?
Does the 'MG' designation refer to the Morris
Garage vehicles? Who can say for sure except the
person/ people who chose the designations! After
all, the "GW" in 'GW-BASIC' stands for "GEE WHIZ"
(No kidding!).
A half dozen years ago, I asked my brother (an
IBM PC user) why PC-DOS (the IBM "specific"
version of MS-DOS) had to be LOADed via software
rather than being a permanent part of the system
(that is, as firmware on a ROM or EFROM) . In
fact, I asked a lot of "almost stupid" questions
back then. To make a long story short, he
replied that the Disk Operating System (DOS) was
loaded as software so they (Microsoft, in this
case) could implement any subsequent changes to
the code more easily.
At the time, the idea of changing the code didn't
makes sense. After all, why re-write code if it
was written correctly the first time! Okay, my
computer experience was limited at the time, and
I was a bit naive about programming; but, I know
someone who thinks that the ABACUS Spread Sheet
programmers should have been able to write the
program in about 10K (yes, 'ten')!
Among the "almost stupid" questions I asked was
with regard to the differences (if any) between
DOS 2.0 and DOS 2.1. But, I digress. Very
simply, a change in the integer represents a
"major" change to the code, while "minor" changes
are represented by variances in the decimal or
hundredths place. In theory, higher numbers
indicate improved code (as with ERROR trapping).
Latter versions generally have "improved" code
(i.e., more ERROR trapping).
If you will make the allowance for a comparison
between the exceedingly crude DOS 1.0 for the
INTEL 8088/8086 chip series [e.g., CLS (CLear
Screen) was not included] and the very earliest
QLs which had a "dongle" (as the Brits apparently
refer to it) on the backside of the QL then from
my reckoning and recollection there are rough
analogues which one can make between MS-DOS
(Microsoft DOS) and QDOS.
Sinclair Research Ltd. (or, Tony Tebby) chose to
use an alphabetic system for labelling. Just as
there were various MS-DOS versions, so there are
various QDOS versions. For example, we may
compare:
— [ QDOS ]— — [ MS-DOS / PC-DOS ] —
AH 2.1
JS 3.30
MGUK 4.00
QDOS is resident in the QL when the computer is
powered on because the code is contained on two
socketed ROM chips. Several years ago, Tom Bent
designed a small PCB which utilized a 27C512
EFROM which could substitute for the two ROM
chips (see QUANTUM LEVELS 1:6 for schematic). A
big plus to Tom Bent's design is that it lets
your QL run cooler.
The 'J' series is probably the most predominant.
The 'JM' & ' JS' are the two most prevalent
versions still being sold in the UK. The 'JSU'
ROM is the same as the 'JS' ROM with the
exception of the size of the video scan when in
TV mode. The 'JSU' ROM accomodates the lower
resolution of NTSC televisions than the British
PAL televisions generate (512x212 vs. 512x256).
Since the TV-mode on all the "British" RCMs
generate a screen having the same dimension as
the monitor display, the apparent difference is
that initializing with 'F2' should allow
generation of eight colors rather than four
[unfortunately, I forgot to verify this when I
43
had temporary access to an RGB monitor].
Programs can "sense" which mode the computer is
in by PEEKing address 163890. In monitor-mode,
the value returned will be '0*. On all "British"
ROMs in TV-mode the value returned should be '1'.
On the 'JSU' ROM and the "rogue" 'MGSJ' ROM,
PEEKing this address when in TV-mode should
return a value/of '2'.
Just as there/ are improvements to Microsoft's DOS
version 4.nn/, so too are there improvements to
the 'M* series ROM. Unfortunately, the price of
improvement may be incompatibility with code
which is LBYTEd/LRESPRed. The conflict /
compatibility varies with the code. For example,
early (all?) versions of 4MATTER will not run on
a QL having an 'MGUK' ROM. Code which is
"automatically" initialized on a 'J' series ROM
(such as SPEEDSCREEN RAM code) must be further
beckoned with the 'M' series ROM code.
It has been reported that Digital Precision's IBM
emulator would not run on a QL having *MG* code.
Details are not complete; and, I suspect he may
have the 'MGSJ* code as I have personally seen
THE SOLUTION running on an 'MGUK' ROM. (Ed note.:
My MGUK ROM QL {inMalled by Tom Bent) nun* both.
Solution* and PC Conquenon) In theory, the
'MGSJ' code incorporates the NTSC television
screen scan with. the rest of the 'MG' code. This
may or may not be a consideration.
Those of you familiar with MS-DOS will find a
comparison between the 'MGUK' ROM and DOS 4.00
appropriate. It seems that enough nuisances were
unintentionally written into the 'MO' code that
it probably makes the more familiar 'J' series
the code of choice (my opinion).
Just as "other" DOS exists for IBM compatible
computers (e.g., WENDLIN-DOS) , there are "proven"
alternatives to QDOS. The first of these is
' ARGOS' code which is used by CST (defunct
Cambridge Systems Technology) on their THOR
computers [DANSOFT is marketing the THOR, but
reports suggest that they are NOT shipping]. The
second is 'MINERVA* by QVIER.
'ARGOS' is apparently QDOS which has been tweaked
to support the THOR's hardware. It may NOT be
hardware compatible with the QL.
Unlike 'ARGOS', .''MINERVA' code was apparently
reverse-engineered to accomplish the same
functions as the QDOS code. The resulting code
is supposed to be superior in speed, particularly
in the screen handling routines. As of
mid-March, 'MINERVA* is only available directly
from QVIEW (in England).
If you're thinking of replacing your QDOS ROM
code, I recomnend that you consider waiting for
'MINERVA' code to become available. If you can't
wait, then opt for the 'JS' code; after all,
*JSU' code is available on your "spare" QL when
don't have a monitor.
HAPPY TRAILS, AND COMPUTING, TO YOU! Al Feng.
Ed Note*: At touched upon the. main dl44enence. In
design o4 QDOS and MS-DOS, which I*: QDOS li
permanent in ROM white, each. MS-DOS utility nut
be. "loaded ptom dl*k to HAM" to operate.. Thene
oaa. advantage* to both, method*. At mentioned the.
advantage o4 MS-DOS being that It eon be changed
easily by AAcaxdlng another. DOS ven*lon on. floppy
dl*k. The. advantage o4 QDOS being In ROM li that
lt6 junctions one "already In memony" and thu* I*
iaMen (given the. *ame clock *peed and ejjiciencj/
o4 operation) . f have o4ten wondened why *ome
4imnt de*lgnen hain't made u*e o4 "EEPROM" to
*tone a DOS. ELECT I C ALLY ERASABLE PROM* have the
ability to be written to by the compute*, (about 3
million time* 4on each, memoxjy addne**) . That
*hould be *u44lcient 4a* a* many DOS ven*ion
Ae.-wnlte* a* needed, wouldn't you think.?
Ed Gwi EWevtU£4, fO Box Vtt,
Englewood, CA 90305 was to send in an
advertisement of his wares. I'm sure
that Ed will kick himself in the britches
when he realizes that he missed the boat.
Instead of using one of his old ads, I'll
just make some comments. Ed Grey carries
a whole line of TS-2068 support items and
runs a West Coast USA BBS called "The.
Gtey Molten". His Telephone number for
ordering software and hardware support
items is 213-759-7406. The BBS telephone
is: (213-971-6260). This BBS is one of
the most informative and the most used by
Sinclair Timex users. If you want to
talk to an enthusiastic Sinclair Timex
person, call Ed. If you want to find out
what goes on in Sinclair Timex Computing,
^_ Call the BBS (with your computer). r
kk
This DPDRTE Issue:
find Others Ahead:
The problem with this issue was the
DECISIONS about what to include! The
articles were selected from about two
issues worth of excellent material given
freely by your fellow Sinclair Timex
users. Your thanks should go to the
authors, not to yours truly.
There several other excellent articles
about the QL and TS-2068 that are
awaiting space in the magazine. They
aren't "culls", but are of a length that
just couldn't be included in this issue.
FRANK DAVIS, your new publisher will
need this same outstanding support from
the writers in order to continue the
depth of coverage that has been a
tradition with Update Magazine. I feel
sure that all of our outstanding writers
will continue to support the users
through the pages of Update.
You have ONE more\J
issue of your subscription coming (July).
Frank Davis, the new publisher, needs to
build his 1991 subscriber list and needs
to have as many early subscribers as
possible for his planning. Plea*e *end
youn $18.00 *ub*cnljptlon nenewal to:
DftVIS, PO BOX 1095, FTO, IH 46970.
^1
A PRIM FOR USING A QL-MUTILATOR
by Al Feng
Okay. Just kidding. We'll discuss MS-DOS
with the QL instead. But, after hearing "all"
those bad things about MS-DOS (Microsoft's Disk
Operating System for IBM compatible computers)
one can only presume that running a SINCLAIR QL
in emulation mode has to be a mutilation of the
QDOS operating system. One would like to think
that it wouldn't happen; but, the price of
software emulation code is still less than an
MS-DOS compatible computer.
The following isn't going to be a discourse about
whether you should be using an emulator on your
QL. Only you know whether there is a need "at
home" for MS-DOS compatibility; and, if an
emulator is going to be a satisfactory route.
The following is going to tell you how to
overcome some of the conceptual inconveniences of
MS-DOS whether on a QL, or on an MS-DOS specific
computer .
The first thing you have to know is that drives
are described alphabetically rather than
numerically. Thus, a drive may be labelled 'A'
through 'Z'. The Operating System (OS) knows you
are describing a drive because a colon (:) is
used as a delimiter immediately after the letter.
The reason for this is because a file may be
named 'A. BAT', 'A. COM' or 'A. EXE' and be
otherwise executed if you simply INPUT 'A'
followed by the '<ENTER>' key. QDOS uses an
underscore ('_' ) as the general delimiter. Thus:
A: == flpl_
B: == flp2_
The major difference is that QDOS allows/forces
you to describe the physical /virtual device being
addressed. On the other hand, MS-DOS assigns
labels on a "logical" basis unless otherwise
specified (some rules do apply) .
On an MS-DOS system, if you have two floppy
drives, they are 'A:' and 'B:'. If you have a
hard drive, it is 'C:'. If you have one floppy
drive and a hard drive, the latter is still 'C: '
(I told you, some rules apply). If you have two
floppies, no hard drive, and have set up a ram
drive, then the ram drive becomes 'C:'. If you
have two floppies, a hard drive, and a ram drive,
then the ram drive becomes 'D: ' .
Ram drives are static and are configured during
BOOT-up via the CONFIG.SYS.
Even if you have a limited amount of overall ram
in your system, but more than 384K, then you
should seriously consider setting up a small ram
disk on your mutiliated QL, laptop, or early PC.
A 48K drive is sufficient for DOS 3.nn and 72K
for DOS 4.nn.
An example of a CONFIG.SYS for DOS 3.nn where the
size of the ramdrive is indicated by the number
following the "device=" statement (in this case
'48K'):
buffers=15
files=30
device=ansi .sys
device=vdisk.sys 48
Unfortunately, the boys-and-girls at Microsoft
are sloppy coders (Captain Midnight would not be
happy), and the same files in DOS 4.nn tend to be
larger than in DOS 3.nn. For DOS 4.nn your
CONFIG.SYS file will be similar to the following
(note the name change from VDISK to RAMDRIVE) :
buf fers=15
files=30
device= ramdrive. sys 72
Okay, 48K is an awfully small ram disk. What are
we going to put in it (and, why?)? There are two
files which should be transferred to a ramdrive
regardless of the size and speed of the system
being used (this includes AT classs machines).
The first is C0MMAND.COM and the other is
F0RMAT.COM.
As these files were designed, they are what are
referred to as external DOS corrmands. An
external command is not retained in the systems
memory. This is because DOS was originally
designed to run on a machine with as little as
16K of memory.
^/o^^^or^t1^^^ nnvmnd^¥mm^
considered task oriented. After a program is
LOADed, DOS dumps the C0MMAND.COM from memory,
and brings it back when the program is quit.
This is why you may see a message which instructs
you to "replace disk with CCMMAND.COM in drive
A:". This can be circumvented by using the
statement :
set comspec=c: command. com
where 'c:' is the location where the CCMMAND.COM
can be found (in this case a ramdrive . . . adjust
accordingly). This can be indicated in a line in
the AUTOEXEC.BAT.
While COMMAND.COM is always necessary, FORMAT. COM
is not. It is, however infrequent a task,
especially inconvenient (i.e., "slow") to have
F0RMAT.COM load from a disk rather being
resident. By transferring an appropriate
F0RMAT.COM to a ramdrive, you have turned it into
an almost-internal command
(using F0RMAT.COM will be discussed later). An
example of a true internal DOS command is COPY.
An example of your AUTOEXEC.BAT should be similar
to one of the two following examples:
@ECHO OFF
PATH A:
PROMPT $P$G
copy format.com c:
copy command.com c:
set comspec=c : command . com
copy dr.com c:
copy free.com c:
c:
45'
OR,
@ECHO OFF
PATH A:
PROMPT $P$G
copy fonrat.com c:
copy comnand.com c:
set comspec=c: comnand.com
copy dr.com c:
c:
If you need M0DE.COM, then include it as a line
of your AUTOEXEC file.
FREE.COM is from the first PC MAGAZINE Utility
disk. DR.COM was a freebie from PC/COMPUTING
magazine.
FREE.COM tell you how much "free" space is left
on a disk. This sounds, well, stupid. But, if
you have blank, FORMATted disks without files,
you cannot determine the size with the DIR
command. In these instances, FREE.COM will let
you determine if it is a 360K or 720K disk:
C:> FREE B:
DR.COM (actually DIRMAGIC.COM) is a convenient
front end program which was distributed "free" if
you subscribed to PC/COMPUTING. It allows you to
COPY/DELETE/RENAME/VIEW/ etc. from a dynamic menu.
ETREE.COM and DR.COM are freeware (vs. shareware)
programs which are supposed to be avail ble on
various bulletin boards. You can probably get a
copy of these two files from Bill if you send him
a few of dollars (?) to cover
media/packaging/postage and tell him which disk
format (720K or 360K) you need.
The reason the example of the AUTOEXEC.BAT above
ends with a 'C: ' statement is that a lot of
activity can be initiated from the 'C: ' drive:
C:> COPY A:*.* B:
is the same as: WCOFY flpl_ to flp2_
Compare: C:> COPY A:DR.COM B:
A:> COPY DR.COM B:
B:> COPY A:DR.COM
to: COPY flpl_J3R_CCM TO flp2_DR_COM
Also compare:
C:> COPY A:DR.COM B: DIRMAGIC.COM
to: COPY flpl_DR_COM TO f lp2_DIRMAGIC_0CM
The syntax of a DOS statement is clearly more
compact since the current "path" can be implicit
in the statement. Working from a "C:>" prompt is
similar enough to working with a comrand cursor
in "WINDOWfO" that you can consider performing
general file management from this drive.
Similarly, if you want to delete a file you would
use the DEL statement:
C:> DEL A:DR.COM
A:> DEL DR.COM
B:> DEL A:DR.COM
to: DELETE flpl_DR_COM
If you are going to LOAD an application
(program), then INPUT the drive designation
followed by ' <ENTER> ' ; and, then the file name.
For example:
C:> A: <ENTER>
A:> QUILL
The syntax for F0RMAT.COM with an emulator is
similar to the FREE.COM utility:
C:> FORMAT B:
and, B:> C: FORMAT
OR: C:> FORMAT A:
and, A:> C:FORMAT
With the emulating QL the density is determined
by the emulating code. There are conditions
which may be needed if 'you wish to FORMAT to a
density other than the drive's normal
specification.
UH-oh. Was mention made of how to construct your
AUTOEXEC.BAT and CONFIG.SYS files? Yikes. The
MS- [Masochistic & Sadistic] method is for you to
use EDLIN! If you can get a copy of DR.DOS's
(Digital Research's DOS) EDITOR.EXE then you will
have an easy-to-use line editor. If not then use
ANY word processor:
Set the left margin to zero ('0');
the upper and lower margins to zero; and,
ensure that there is no header or footer.
Next, transcribe the appropriate example(s) as
individual lines of text. SAVE each individually
as an appropriately named ASCII file. Transfer
the file to your DOS disk.
That's about all you really need know to be
functional on the precarious, MS-DOS iceberg.
HAPPY TRAILS, AND COMPUTING, TO YOU. Al Feng
TOE PU LIBRARIAN FOR NORffl AMERICA?
Will the active QUANTA LIBRARIAN please get
in touch with Update Magazine. Why? Well,
I'd like to help publicise this fantastic
group of programs and utilities. I have had
the first 15 Quanta Library Disks for about a
year. There hasn't been much published about
the utility of this good library or how the
users can get the disks. Perhaps there are
enough interested subscribers to form a Quanta
Group in North America? Update will help.
46
THE NEWS HERALD, Panama City, Fla.,
THE CANADIAN REPORT
Kanadian fonetik langwaje
TORONTO, Canada (KNT) — Like a solitary savior striving to
rescue the illiterate from the flummadiddle and kerfuffle of the
English language, Ted Culp envisions "that gloreus day all ling-
gwistic owtrajes wil end!"
At that inevitable moment when English collapses under the
weight of its confusing, irrational structure, Culp says he'll be ready
with the Canadian "langwaje," a sane replacement for the "gar-
bage" that annoys people and produces illiteracy.
"As this inferior langwaje iz displased everywhere ... illiterasi
shud disapeer completely," wrote Culp, the meticulous publisher of
the Times Ov Toronto, and a teacher and ardent proponent of simpli-
fying a language that drives him nuts.
In a multiethnic country where combat over language could
qualify as a national pastime, many view a phonetic type spelling of
English as laughable or an uncomfortable reminder that some real-
ly spell like this.
Others view Cuip's changes as an assault on the Queen's English.
After all, many loyal Canadians still sing God Save the Queen.
But this is no joke to Culp. He is dead serious — rather, "ded
serius" — and he speaks passionately about the foibles of language.
He has reduced the alphabet to 25 letters — eliminating "q— and
says other changes will be necessary to reform the world's second
most popular language. But changes can't come quickly, he warns,
or they won't be accepted.
Changing "city" to "siti" — eliminating the soft "c" and replacing
it with "s" — will be accepted, he said, but replacing the hard "c"
with a "k" will be tough because that would produce 0 Kanada.
Culp resists the temptation to teach the Canadian "langwaje" to
his high school students, but does not hesitate to point out the pro-
blems with English. '
"It wil spred arownd the wurld," Culp says. "It wil triumf."
Ed note: Now thars a Cannuck thet nos wot hez
talken bout! Ether thet er ole George hez ben
let en him reed hiz kopi uv Update Magazine. He
bet thets whut hapend, nunthles hez on mi band-
wagun. We gota dew sumthin fore th kids an thar
rap talk taks ovr fer sur. -BJ_
lie News
IS
BND UE 'RE SPREADING IT!
RMG if adding so Many NEW And
EXCITING ITEMS to our lint that
our t tortro.OM art BUtGINff? Wt
havt adtftd iort that 25 "NEW PAGES
and changtd ovtr 20 othtrj in our
BIG <10* M9t catalog. Wt wan Fit
■akt surt that you do 'riot Mi-ss out
on anuthin9 wt May bt ablt to htlp
you with in your computing.'*
If you will ttnd uf *3.ff0 you will
Ctctivt our , catalog /i^th a *3 off
coupon, for your ftTft ordtr*. AND*
ttnd along 12 buslntis sizt SASEf
and you wil) rtctivt 12 Monthly
updattt and spt.cial Mailings. $3
discount coupon in first Mailing!
RMG ENTERPRISES
l HI* 1/2 71 H STREET
OREGON CITY i OREGON ?70U3
303/453-7M8U. § NOONMO WE-SAT
IE
PLATYPUS
SoT tucire QL to PC file transfers
SPREADSHEET [text i valid formulas / some functions do not transfer to LOTUS (e.g., aslct & askn)]:
QL- ABACUS to:
PC-ABACUS
LOTUS 1-2-3
1.60 / screen
1.80 / screen
QL-QUILL to:
PC-ASCII. TXT
PC-qUILL
WordPerfect
base 2.50 / 25 lln
base *■ 3-00 / page
base * 5.00 / page
The "base" fee is:
$5.00 for the 1st file,
$1.00 for the 2nd rile,
$3.00 for the 3rd rile,
$2.00 Tor the Uth file,
$1.00 for each subsequent file.
A "screen" is defined as: 20 rows x 8 cols.
A half-screen is: 10 rows x 8 cols.
A quarter-screen is: 5 rows x 8 cols.
A "page" is defined as: 30 lines maximum x 80 columns (or, about 300 words).
Partial pages will be rated at $0.10 per line in QUILL and $0.15 In WordPerfect.
A quarter-screen minimum Increment for spreadsheets.
PLEASE NOTE: The new file(s) will be supplied on a 3-5" 720K disk.
If you need a 5-25" 36OK disk, then please supply a labelled, pre-formatted 36OK
disk along with any original media. If you send microcartrldges , please ensure
that they are of high quality AND that you retain backup copies during the Interim.
Of course, any original media (disks/microcarts) will be returned.
If you have other needs, please enquire: AL FENO
15 Wake Robin Court
Woodridge, IL 60517 h 7/
(708) 971-0495 ^ ' '
THE QL ISSUE DISK PROGRAM
And how goes it, QL?
The issue disk program is designed to
give publicity to the programmers who are
working for us and to put the Author into
direct contact with the users. Normally,
an issue disk title is offered in a couple
of issues of the magazine and then rotated
out. This introduces the programmer to the
users and establishes rapport between them.
The programs in the issue disk belong to
the authors. Update' s only involvement is
in their early distribution "at
introductory prices".
NOTICE that Bill Cable (Wood and Wind
Computing) now has the capability of
providing his software on both 5 1/4" and 3
1/2" disks (and microdrive cart). See his
ad else- where in this issue. Also NOTICE
the ad by AL FENG (Platypus Software).
Both of these authors are producing
software for the QL and IBM systems.
Other North American software authors
will be introduced to the users as they
come aboard. The issue disk program's
purpose is to encourage the creation of
NORTH AMERICAN SOURCES in support of
Sinclair Computing. The program is
enjoying moderate success. Two years ago
Peter Hale (EMSOFT) was about the only
recognized source of American Software for
the QL. Now he is joined by others. (See
EMSOFT Ad in this issue) .
While the Brits are jolly good
fellows, and they have given us (sold us)
many good softwares, Update Magazine takes
the position that QL users in North America
should not have to swim the pond to get
useful software. Our own programmers are
available for call to service the users,
and are eager to do so.
Didja know that PSION, the producer
(emeritus) of our Four great QL Softwares,
is now an American Corporation? AND, Bill
Cable has a working relationship with PSION
to do follow-on improvement programming
with the PSION suite? AND, that EMSOFT
(Peter Hale) is a Dealer for the new PSION
Mobil computers? AND, I'm squirreling away
saving to buy one of the new PSION Mobile
computers? I dont know what thats got to
do with Issue Disks, but it is all relative
to the subject of Hobby computing. ENJOY!
/j SINCLAIR QL ISSUE DISKS (HDV)
The following new issue disks are offered for QL
systems of all configurations. The programs are
on either 80 track Diskette or MDV cartridge.
If ordering for MDV send a formatted MDV
cartridge. All prices are $22.00 (post paid) and
are guaranteed to satisfy.
1. "HARMS COLLECTICH" DISK
Address and QSO file managers, plus a raft
of disk utilities. All in Superbasic. Lots of
tricks and hints for the programmers . Requires
seme knowledge of Superbasic or a yen to learn.
2, "ENS PTer" DISK
QLUTer - QL UTilities to un-clutter your
disks and tapes. COPY, DELETE, FORMAT, PRINT,
VIEW functions. TURBO compiled for SPEED.
Multi tasks and minimal key press. Also has—
SteP SHOT - a directory column or condensed
print out program.. ALSO includes "VEGEMAT** - a
CLONE making program.
3. "FIG QLOSTer" DISK
QLUSTer - very sindliar to QLUTer (above)
hut has extended functions using some SUPER
TOOLKIT II features. You must have the Toolkit
(TK2J5XT) for this program. SNAP SHOT and
VEGEmat also included.
4. OBLE ARCHIVE DISK
ARCHIVE utilities and exensive doc file
instruction manuals. Programs are: REFIELD,
SCAN, SPLIT, JOIN, DIR, FILER, FREQ. For
Beginner to Advanced user. These programs
GREATLY EXTEND the capabilities of ARCHIVE and
the manuals lead one to complete understanding
of Archive and these extensions.
U ondvUng 4ot MDV **m& into miv catfrUdge^- too
mxny pwgtams to irvbo one, avtt.
5. "CABLE HELPER2" DISK
A very useful TOOLKIT program for managing
both DISKS and MICRODRIVE. HELPER lets you copy
from one medium to another, Read or Copy doc
files to paper or screen, repeat format mdv
carts or floppy. Uses screen windows to see two
directories from and to, copies over existing
files in disk mdv, copy selected files. Does
not conflict with TK2.
48
Order to UPDATE Magazine, address on cover.
Check or money order accepted.
M TS-2068 ISSUE DISK PROM
Available until July 31, 1990
While Frank Davis intends to continue the
Issue Disk program it is likely to undergo
change. The software offered in these disks
belong to the authors and new agreements will be
required. Some titles may not be available
after July.
It has been difficult to pursuade and cajole
NEW TS-2068 SOFTWARE from the few programmers
who are still active. Most seem to be modifying
older cassette software for disk drive
operation. Thats kinda like modifying a
row-boat to become a cruise ship.
But this issue brings an excellent new
BUSINESS Software, by Jim Bretz. My own
softwares, Daisy, Smart Text, and Dbasel, were
thrown into the Issue disk program to fill a
void of new DISK BASED Software. These titles
will be withdrawn after July because all are
constantly undergoing upgrades, manual
addendums, and require personal support via
letters and telephone.
My Fortune 800 Software house, "Gulf Micro"
will continue to work on these and provide new
full-length software as time goes on. I wish
that other programmers would join in such
efforts. Larry Kenny and John McMichael are
doing some good NEW software. AND, the Toronto
TSUG has some very active programmers who are
producing LKDOS utilities. We need to entice
others to join in. Software designed from the
ground up for DISK DRIVE SYSTEMS is what we
need. Old Cassette software with the SAVE line
modified wont fit our needs, and if thats all
the users have available they will move on to a
computer system that has the software.
A lot of new programming is going into the
area of EXTRA MEMORY usage. Larmour Crawford is
predominant in this area and I'm trying to
assist. Please read the article "The QL ISSUE
DISK PROGRAM". Our TS-2068 issue disk program
has not had as much success, but lets keep on
trying . -BJ_
The Update TS-2068 Disk Library
The following Disk software and utilities are
offered. The Individual disk listings are given
by TYPE of DOS that the disks are prepared for.
The disks are available on 5-1/4" Double
Side Double Density Diskettes, either 40 Track
(360K) or 80 Track (720R) disk drives. If you
have a S-jl/ 4 inch disk drive these disks will
work in your system. Each disk has at least 300K
of programs and utilities. The price is $22.00
per disk (postage paid) (add $1.00 to Canada).
Checks or Money Order.
06 ; A Caiplete TS-2068 Software Syston,
Data base management. Word Processing,
Automatic formatting, Disk Management.
Over 20 integrated programs, including a
Mail Merge annex. For LKDOS Only. (Oliger
DOS users order Smart Text.) An Update
Magazine Software.
rr TEXT : A versatile Data Base and Word
Processor software. Includes a Mail Merge
annex to creata mailing lists for
automatic repeat letters. Label printing,
Disk Management. By Update Magazine. For
Oliger DOS Only. v
1989 UPDATE COLLECTION: Filled with all of the
utility programs published during 1989.
LKDOS or Oliger DOS
SMART TEXT 64: (Coming) tot Text software in
64 Column Screen for use with the Zebra
OS-64 Cartridge. For OLIGER DOS ONLY.
(Do not order until release is announced)
VIEW CALC UPGRADE : The old PSION View Calc
program Expanded and Converted for LKDOS
with Spread Sheet Printer. By Bob
Mitchell. For LKDOS Only.
1988 UPDATE OOLLECTION: The Mail Merge Software
plus the disk filled with utilities. For
LKDOS or Oliger DOS
DBASE-1 : (Caning) A new RECORD software. The
data base will be very flexible with
applications for Mall Lists, Inventories,
or just about any purpose one needs. Sort
by any line, and by first or last group
within the line. A "Sort Disk Files"
feature will allow one to create and sort
thousands of continuous records. (Do not
order until release is announced.)
1990 UPDATE COLLECTION: All of the Utility
programs being published during this
current year, (to be released in Oct.)
BUSINESS ACCOUNTS: New Major Business
Software for the TS-2068, By: Jim Brets
This software is given as a key-in
project and can be ordered for imediate use.
See the article in this issue. Available
for LKDOS OR SPDOS. 5 1/4" DSDD 80 TRACK
720K FORMAT. Use your own Printer Driver
Code or LKDOS version 3 driver. Needs 64
Column support by either TASWI or Zebra
OS-64 cartridge.
NOTE TO PROGRAMMERS: TOU can join in with the
Issue Disk Program. Ail you need to do is
to write a "Mini -Manual" for your software
to be published, and supply the disk.
BACK ISSUES OF UPDATE MAGAZINE ^
are available in TEAR Groups for $18.00
per year (post paid) (add $1.00 to Canada)
Each year group has over 200 pagea of
mostly useful programs and utilities as
key-in projects and MANI Tutorials for
Basic and MC programming. Available are:
1988 Year Group (All TS-2068 Supportive)
1989 Year Group (TS-2068 and Sinclair QL
49
LKDOS SOFT-WARE
IIHIIIIIHIIIIIIII
" m
MAXCQM 300/1200 baud Tarmlnal/BBS
This full faatura madam softwara lots you affactlvly link tha modam to th* disk, so you can upload or
download fllas largar than lOOK.Thls lals you stud HMI savas mid larga taxi fllas as wall *s Basic or Cod*
flits, which olhar modam programs couldn't sand bacausa of mamory limitations. Also fllas can ba sant with
or without a Information haadar (Spac-ttrm compatlbla) .
It also has a 64 column display and Is tha only 2068 modam program that will run at full 1200 baud
without missing characlars. Othtr faaturts of th« tarmlnal moda ara IDM graphic charactars. auto-dlalar.
macro kays, I10K disk buffer for capturad taxt. auto rapoat kays.
Tha BBS Is tha most alaborata available for tha 2068 and allows tho ramota usar full acctss to th« disk
drlvas similar to a CPM BBS. Faaturas of tha BBS ara - 300/1200 baud, aparallen with fast rapo.ic* avan at
1200 baud. Passwords, priority levels. Usa lima limits. Multlplo Massaga Basas, Uploads and Downloads ara
not Itmllad by Mamory. Dual Window Monitor scraan. Intarupt drlvan thna out and Hangup protactlon. Also
Kaaps a Ustr log of callars Mamas and Activity on disk so a printer Isni n«t4«4 and Its aaslly customised and
expanded.
MAXCOM can ba usad with tha 2050 madam or with tho Z-SIO RS232 Intarfaca and a 300/1200 baud
modam. (a varslon for tha Aarco RS232 Is In tha works).
PRICEi *24.95
LARKEN DISK EDIIOn
' This program lots you axamina or changa any byta on a LKdos disk. It Is usaful In rapalrlng damagad or
glltchad disks, changing tha disk Nama or haad spaad ate. You esn also examlna tha track map and disk Info
haadars.
Tha documentation for tha disk adltor also Includas Information on how to accass LKdos from Machlna
Coda and Information on tha structura of tha disk catalog and data blocks.
PRICEi $15.00
SEQUENTIAL/RANOOM Accass FILES
This utility Is a ram rasldant axtanslon to tha LKdos operating systain and lats you craata. raad from, or
wrlla to vary largo data fllas kapt on disk. It usa* tha commands OPEN*. CLOSEH. PniNTi. IMPUTi. and
INKEYSH to accass tha fllas from BASIC. Thara Is also a high spaad saarch command for finding a taxt siring
within lha data fllo. Using tha TAB command, you can randomly accass dlractly any racord In a flla.
Tha utility Is aaslly usad within your basic programs and has a lot of usas. from storing larga data fllas.
craatlng larga spall chackar dlctlonarys or atan convartlng you basic programs to an aacll taxt flla .
This utility lats you taka tha limits off of tha data capacity of tho 2068 .Fllas on disk can ba bug. I
A tlmpla data basa program Is Includad on tha disk to damonstrata tha utility.
PRICEi $ 15.00 .
Coming Soon from Larkan Elactronlcs
• * Tha Larkan Cask Top Publlshar Produca high quality printing (Ilka thla paga } with an apaon compatlbla
prlntar and LKdot. Tha antlra Hl-ras graphic paga Is kapt on tha disk and scrolling though tha paga Is aa aaay
as clicking lha Joystick or mousa on tha Icon typa manu. Taxt and Graphic adltlng with multlpla sized fonts
will also ba faaturad.
a* Spall Chackar for Tasword and M-Scrlpt Thla utility program will lot you hava your wardproeaasor
taxt fllas ba chackad by a 350K dictionary.
All Prlcas SUS - Sptclfy typa of drlva whan ordarlng.
LARKEN ELECTRONICS RR|2 MA VAN. ONTARIO CANADA. K4B-1H9
(613^835-2680
50
UPDATE MiVGAZIME